[JAVA] Calendar
날짜와 시간
java.util.Date
- 날짜와 시간을 다룰 목적으로 만들어진 클래스
- Date의 메소드는 거의 사용하지 않지만, 여전히 사용 중이다.
- java.util.Calendar
- Date 클래스를 개선한 클래스
- Date 클래스를 개선한 클래스
- java.util.Time
- Date와 Calendar 단점을 개선한 새로운 클래스들을 제공
Calendar 클래스
- 추상 클래스이므로 getInstance()를 통해 구현된 객체를 얻어야 된다.
int get(int field)
- get()으로 날짜와 시간을 가져올 수 있다.
1
2
Calendar cal = Calendar.getInstance(); // 현재 날짜 시간으로 설정
int thisYear = cal.get(Calendar.YEAR); // 올해 몇년인지 가져옴
필드명(날짜) | 설명 |
---|---|
YEAR | 년 |
MONTH | 월 |
WEEK_OF_YEAR | 해당 연도의 몇 번째 주 |
WEEK_OF_MONTH | 해당 달의 몇 번째 주 |
DATE | 일 |
DAY_OF_YEAR | 해당 연도의 몇 번째 일 |
DAY_OF_MONTH | 해당 달의 몇 번째 일 |
DAY_OF_WEEK | 요일 |
DAY_OF_WEEK_IN_MONTH | 해당 달의 몇번째 요일 |
필드명(시간) | 설명 |
---|---|
HOUR | 시간(0~11) |
HOUR_OF_DAY | 시간(0~23) |
MINUTE | 분 |
SECOND | 초 |
MILLISECOND | 1/1000초 |
ZONE_OFFSET | GMT 기준 시차 / (1/1000)초 단위 |
AM_PM | 오전/오후 |
set()
- 날짜와 시간을 지정할 수 있다.
월(MONTH)은 0부터 시작하기에 원하는 지정 월에서 1을 빼줘야 한다.
- 날짜 지정
1
2
Calendar date1 = Calendar.getInstance();
date1.set(2024, 0, 1); // 2024년 1월 1일
- 시간 지정
1
2
3
4
Calendar time1 = Calendar.getInstance();
time1.set(Calendar.HOUR_OF_DAY, 10); // 10시
time1.set(Calendar.MINUTE, 20); // 20분
time1.set(Calendar.SECOND, 30); // 30초
add()
- 날짜 추가할 때 사용한다.
1
2
3
4
5
6
7
8
9
10
Calendar date1 = Calendar.getInstance();
date1.set(2024, 0, 1); // 2024년 1월 1일
data1.add(Calender.DATE, 1); // 하루 더함
> 2024년 1월 2일
date1.set(2024, 0, 1); // 2024년 1월 1일
data1.add(Calender.MONTH, 1); // 한달 더함
> 2024년 2월 1일
date1.set(2024, 0, 1); // 2024년 1월 1일data1.add(Calender.DATE, 1); // 하루 더함
Date와 Calendar 간의 변환
- Date 메소드는 많이 사용을 하지 않지만 Date와 Calendar 변환은 알아두는 게 좋다.
Calendar to Date
1
2
3
Calendar cal = Calendar.getInstance();
Date d = new Date(cal.getTimeInMillis());
Date to Calendar
1
2
3
Date d = new Date();
Calendar d = Calendar.getInstance();
cal.setTime(d);
이 기사는 저작권자의 CC BY 4.0 라이센스를 따릅니다.