Java

95. 날짜와시간, Calendar클래스 - 패스트캠퍼스 백엔드 부트캠프 3기

gkss2tpt 2024. 12. 31. 17:04

1. 날짜와 시간

  • java.util.Date
    • 날짜와 시간을 다룰 목적으로 만들어진 클래스(JDK1.0)
    • Date의 메서드는 거의 deprecated되었지만, 여전히 쓰이고 있다.
  • java.util.Calendar
    • Date클래스를 개선한 새로운 클래스(JDK1.1) 여전히 단점이 존재
  • java.time패키지
    • Date와 Calendar의 단점을 개선한 새로운 클래스들을 제공(JDK1.8)

2. Calendar클래스

  • 추상 클래스이므로 getInstance()를 통해 구현된 객체를 얻어야 한다.
Calendar cal = new Calendar();	// 에러 추상클래스는 인스턴스를 생성할 수 없다.

// getInstance()메서드는 Calendar클래스를 구현한 클래스의 인스턴스를 반환한다.
Calendar cal = Calendar.getInstance();	// 서양력, 불교력, 일본력...
  • get()으로 날짜와 시간 필드 가져오기 - int get(int field)
Calendar cal = Calendar.getInstance();	// 현재 날짜와 시간으로 셋팅됨
int thisYear = cal.get(Calendar.YEAR);	// 올해가 몇년인지 알아낸다.
int lastDayOfMonth = cal.getActualMaximum(Calendar.DATE);	// 이 달의 마지막날
  • Calendar에 정의된 필드(날짜)
필드명 설 명
YEAR
MONTH 월(0부터 시작)
WEEK_OF_YEAR 일 (1월 1일 ~ 지금)
WEEK_OF_MONTH 그 달의 몇 번째 주
DATE
DAY_OF_MONTH 그 달의 몇 번째일
DAY_OF_YEAR 그 해의 몇 번째일
DAY_OF_WEEK 요일 (1~7, 1: 일요일)
DAY_OF_WEEK_IN_MONTH 그 달의 몇 번째 요일
  • Calendar에 정의된 필드(시간)
필드명 설 명
HOUR 시간(0~11)
HOUR_OF_DAY 시간(0~23)
MINUTE
SECOND
MILLISECOND 천분의 일초
ZONE_OFFSET GMT기준 시차(천분의 일초 단위)
AM_PM 오전/오후