Date , Calender

이한수·2022년 3월 24일
0

JAVA

목록 보기
9/9
post-thumbnail

개인 공부 내용 정리 목적입니다.
참고 : 남궁성 Java의 정석.

Java 1.8부터는 java.time패키지로 기존의 단점들을 개선한 새로운 클래스들이 나왔다.

하지만 아직도 Date 와 Calendar 가 사용되고 있으므로, 간단히 공부할 필요가 있다.

1.Date

날짜와 시간을 다룰 목적으로 만들어진 클래스 (JDK1.0)
Date의 메서드는 거의 deprecated되었지만, 여전히 쓰이고있다.

2.Calendar

추상 클래스다.
고로 객체를 생성하기 위해서는 인스턴스를 얻어와야 한다.

Calendar를 구현한 클래스로는 GregorianCalendar와
BuddhistCalendar가 있다.

getInstance()는 시스템의 국가와 지역 설정을 확인하여 반환할 구현체를 달리한다.

태국의 경우 BuddhistCalendar 그 외에는 GregorianCalendar를 반환한다.

getInstance()로 얻어온 Calendar는 기본적으로 시스템의 날짜와 시간에 대한 정보를 담고 있다.
만일 임의의 시간으로 지정하고자 한다면 set메서드를 이용하면 된다.

2-1.Date와 Calendar간의 변환

//Calendar -> Date
Calendar cal = Calendar.getInstance();
Date date1 = new Date(cal.getTimeInMillis());

//Date -> Calendar
Date date2 = new Date();
Calendar cal = Calendar.getInstance();
cal.setTime(date2);

2-2. Calendar에서 날짜와 시간 가져오기

Calendar cc = Calendar.getInstance();

cc.get(Calendar.YEAR);		//년도 구하기

cc.get(Calendar.MONTH); 	//월 구하기

cc.get(Calendar.DATE); 		//월 기준 일 구하기

cc.get(Calendar.DAY_OF_YEAR);	//해 기준 일 구하기

cc.get(Calendar.AM_PM);			//오후면 1 , 오전이면 0 반환.

cc.get(Calendar.HOUR);		// 시간 구하기

cc.get(Calendar.MINUTE);	//분 구하기

cc.get(Calendar.SECOND);	//초 구하기

주의 : cc.get(Calendar.MONTH) 는 1~12가 아니라 0~11을 반환한다.

2-3. 두 날짜간의 차이

Calendar cc1 = Calendar.getInstance();
Calendar cc2= Calendar.getInstance();

long difference = (cc1.getTimeInMillis() - cc1.getTimeInMillis())/1000;

//getTimeInMillis()를 이용하면 1000분의 1초 단위로 변경해준다.


//시간이나 분단위로 출력하고자 할경우
//60 혹은 3600으로 다시 나눠주면 된다.

2-4. Calendar -> Date

Calendar cal = Calendar.getInstance();

Date day = cal.getTime();		//변환 해준다.
profile
성실하게

0개의 댓글