Day 46

ChangWoo·2023년 5월 21일
0

자바의 정석

목록 보기
62/71
post-thumbnail

ch 10-4~5 Calendar예제(1)

Calendar클래스 - 예제2,3

  • set()으로 날짜와 시간지정하기
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 yer, int month, int date, int hourOfDay, int minute, int second)
  • 날자 지정하는 방법. 월(MONTH)이 0부터 시작한다는 점에 주의
Calendar dete1 = Calendar.getInstance();
dete1.set(2017, 7, 15); // 2017년 8월 15일 (7월 아님)
// dete1.set(Calendar.YEAR, 2017);
// dete1.set(Calendar.MONTH, 7);
// dete1.set(Calendar.DATE, 15);
  • 배열을 이용하기 때문에 0부터 시작한다.
  • 시간 지정하는 방법.
Calendar time1 = Calendar.getInstance();
time1.set(Calendar.HOUR_OF_DAY, 10); // time1을 10시 20분 30초로 설정
time1.set(Calendar.MINUTE, 20);
time1.set(Calendar.SECOND, 30);
  • clear()는 Calendar객체의 모든 필드를 초기화
Calendar dt = Calendar.getInstance();
// Tue Aug 29 07:13:03 KST 2017
System.out.println(new Date(dt.getTimeInMillis()));
dt.clear(); // 모든 필드를 초기화
// Thu Jan 01 00:00:00 KST 1970
System.out.println(new Date(dt.getTimeInMillis()));
  • clear(int field)는 Calendar객체의 특정 필드를 초기화
Calendar dt = Calendar.getInstance();
// Tue Aug 29 07:13:03 KST 2017
System.out.println(new Date(dt.getTimeInMillis()));
dt.clear(Calendar.SECOND);		// 초를 초기화
dt.clear(Calendar.MINUTE);		// 분을 초기화
dt.clear(Calendar.HOUR_OF_DAY);	// 시간을 초기화
dt.clear(Calendar.HOUR);		// 시간을 초기화
// Tue Aug 29 00:00:00 KST 2017
System.out.println(new Date(dt.getTimeInMillis()));

ch 10-6~8 Calendar예제(2)

Calendar클래스 - 예제4,5

  • add()는 특정 필드의 값을 증가 또는 감소(다른 필드에 영향 O)
Calendar date = Calendar.getInstance();
date.clear(); // 모든 필드를 초기화
date.set(2020, 7, 31); // 2020년 8월 31일로 설정
date.add(Calendar.DATE, 1); // 날짜(DATE)에 1을 더한다. -> 9월 1일
date.add(Calendar.MONTH, -8); // 월(MONTH)에서 8을 뺀다. -> 1월 1일
  • roll()은 특정필드의 값을 증가 또는 감소(다른 필드에 영향 X)
date.set(2020, 7, 31); // 2020년 8월 31일로 설정
// add()와 달리 roll()은 다른 필드에 영향을 미치지 않는다.
date.roll(Calendar.DATE, 1);  // 날짜(DATE)에 1을 더한다. -> 8월 1일 
date.roll(Calendar.MONTH, -8); // 월(MONTH)에서 8을 뺀다. -> 2020년 12월 31일

Date와 Calendar 간의 변환

  • Date의 메서드는 대부분 deprecated 되었지만, 여전히 사용 (사용하지 않을 것을 권장)
  • Calendar를 Date로 변환 -> new Date(cal.getTimeInMillis());
  • Date를 Calendar로 변환 -> Calendar.getInstance();
profile
한 걸음 한 걸음 나아가는 개발자

0개의 댓글