Chapter10 날짜와 시간 & 형식화(date, time and formatting)
1. 날짜와 시간
1.1 Calendar와 Date
- java.util.Date : 날짜와 시간을 다룰 목적으로 만들어진 클래스
- java.util.Calendar : Date클래스를 개선한 클래스
- java.time패키지 : Date와 Calendar의 단점을 개선
1.1.1 Date와 Calendar간의 변환
- Calendar를 Date로 변환
Calendar cal = Calendar.getInstance();
...
Date d = new Date(cal.getTimeInMillis());
- Date를 Calendar로 변환
Date d = new Date();
...
Calendar cal = Calendar.getInstance();
cal.setTime(d);
1.1.2 Calendar클래스
- 추상클래스이므로 객체 생성x -> Calendar.getInstance()로 구현된 객체를 얻어야 함.
- get()으로 날짜와 시간 필드 가져오기
- Calendar에 정의된 필드
- set()으로 날짜와 시간지정하기(월이 0부터 시작한다는 것이 유의)
void set(int field, int value);
void set(int year, int month, int date);
void set(int year, int month, int date, int hourOfDay, int minute);
void set(int year, int month, int date, int hourOfDay, int minute, int second);
- clear()는 Calendar객체의 모든 필드를 초기화
- add()는 특정 필드의 값을 증가 또는 감소(다른 필드(월, 일)에 영향o)
- roll() 특정 필드의 값을 증가 도는 감소(다른 필드(월, 일)에 영향x)
2. 형식화 클래스
- java.text패키지의 DecimalFormat, SimpleDateFormat
- 숫자와 날짜를 원하는 형식으로 쉽게 출력 가능(숫자, 날짜 -> 형식 문자열)
double number = 1234567.89;
DecimalFormat df = new DecimalFormat("#.#E0");
String result = df.format(number); // result = "1.2E6"
- 형식 문자열에서 숫자와 날짜를 뽑아내는 기능(형식 문자열 -> 숫자, 날짜)
DecimalFormat df = new DecimalFormat("#,###.##");
Number num = df.parse("1,234,567.89");
double d = num.doubleValue(); // 1234567.89
2.1 < DecimalFormat >
2.2 < SimpleDateFormat >
- 날짜와 시간을 다양한 형식으로 출력할 수 있게 해준다.
- 특정 형식으로 되어 있는 문자열에서 날짜와 시간을 뽑아낼 수도 있다.
'LANGUAGE > [JAVA]' 카테고리의 다른 글
정규식이란? (0) | 2022.04.05 |
---|---|
Chapter11 컬렉션 프레임웍 Collections Framework (0) | 2021.08.28 |
Chapter09 java.lang패키지와 유용한 클래스(java.lang package & util classes) (0) | 2021.08.26 |
Chapter08 예외 처리(exception handling) (0) | 2021.08.25 |
Chapter07 객체지향 프로그래밍II(Object-oriented Programming II) (0) | 2021.08.24 |