목차

  1. Calendar 클래스란?
  2. get() 메소드로 날짜/시간 가져오기
  3. set() 메소드로 날짜/시간 설정하기
  4. 날짜 계산
    • 두 날짜 간의 차이 계산 (일)
    • 두 시간 간의 차이 계산 (시분초)
  5. 문제

 

 

1. Calendar 클래스란?

  • 추상 클래스이므로 getInstance() 를 통해 객체를 얻어야 한다 (객체 생성 불가)
  • getInstance() 메소드는 Calendar 클래스를 구현한 클래스의 인스턴스를 반환한다

 

 

2. get() 메소드로 날짜/시간 가져오기

1) 날짜 관련

  • get(Calendar.YEAR) :
  • get(Calendar.MONTH) : 월 (0부터 시작)
  • get(Calendar.WEEK_OF_YEAR) : 그 해의 몇 번째 주 (1월 1일부터 ~ 현재 주차)
  • get(Calendar.WEEK_OF_MONTH) : 그 달의 몇 번째 주
  • get(Calendar.DATE) :
  • get(Calendar.DAY_OF_YEAR) : 그 해의 몇 번째 일
  • get(Calendar.DAY_OF_MONTH) : 그 달의 몇 번째 일
  • get(Calendar.DAY_OF_WEEK) : 요일 (1 ~ 7, 1 = 일요일)
  • get(Calendar.DAY_OF_WEEK_IN_MONTH) : 그 달의 몇 번째 요일

 

 

2) 시간 관련

  • get(Calendar.HOUR) : 시간 (0 ~ 11)
  • get(Calendar.HOUR_OF_DAY) : 시간 (0 ~ 23)
  • get(Calendar.MINUTE) :
  • get(Calendar.SECOND) :
  • get(Calendar.MILLISECOND) : 1,000분의 1초
  • get(Calendar.ZONE_OFFSET) : GMT 기준 시차 (1,000분의 1초 단위)
  • get(Calendar.AM_PM) : 오전/오후

 

 

 

 

 

 

3. set() 메소드로 날짜/시간 설정하기 (*요일은 설정불가)

  • set(2017, 7, 15) : 2017년 8월 15일 설정 ('month'는 0부터 시작)
  • set(Calendar.YEAR, 2017) : 2017년 설정
  • set(Calendar.MONTH, 7) : 8월 설정
  • set(Calendar.DATE, 15) : 15일 설정
  • set(Calendar.HOUR_OF_DAY, 14) : 14시로 설정
  • set(Calendar.HOUR, 14) : 오후 2시로 설정
  • set(Calendar.MINUTE, 45) : 45분으로 설정
  • set(Calendar.SECOND, 15) : 15초로 설정
  • clear() : 날짜와 시간을 초기화합니다. (1970년 1월 1일 0시 0분 0초)

 

 

 

 

 

 

4. 날짜 계산

1) 두 날짜 간의 차이 계산 (일)

  1. 두 날짜 설정
  2. 두 날짜를 초단위로 변환  - getTimeInMillis() 
  3. 두 날짜 연산
  4. 연산된 날짜를 일(day)로 변환 - /(24*60*60) 

 

 

 

 

 

 

 

2) 두 날짜 간의 차이 계산 (시분초)

  1. 두 시간 설정
  2. 두 시간을 초단위로 변환  - getTimeInMillis() 
  3. 두 시간 연산
  4. 연산된 시간을 시분초로 변환 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

문제 

time1 과 time2에 임의의 시간을 설정하여 두 시간의 차이 구하기 (*scanner 사용)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

정답 

+ Recent posts