java.util   .Date
----------    ------
패지지명   클래스명
설명    
1 java.util.Date 날짜와 시간을 다룰 목적으로 만들어진 클래스(JDK1.0)
Date의 메서드는 거의 deprecated되었지만, 여전히사용중
(1995)
단점 : 날짜 + 시간을 같이 다루게되어있음
   
2 java.util.Calendar Date클래스를 개선한 새로운 클래스(JDK1.1)
여전히 단점이 존재
(1997)
단점 : 날짜 + 시간을 같이 다루게되어있음
   
3 java.time패키지 Date와 Calendar의 단점을 개선한 새로운 클래스들 제공
(JDK1.8)(2014)

단점보완
날짜 : LocalDate 클래스
시간 : LocalTime 클래스
날짜+시간 : LocalDateTIme 클래스 
   

 


Calendar 클래스

규칙
1. 추상클래스이므로 getInstance()를 통해 구현된 객체를 얻어야한다.
2. get()으로 날짜와 시간 필드 가져올수 있다.                                                      //get() 필드 읽기
3. set()으로 원하는 날짜와 시간 지정할 수 있다.                                                  //set() 필드 변경
4. clear()는 Calendar객체의 모든필드 초기화                                                       //clear() 필드 초기화
    ㄴ clear(int field)는 Calendar객체의 특정 필드를 초기화
5. set을 사용할때는 celar() 후 진행하는게 정확하다.
6. add()는 특정 필드의 값을 증가 또는 감소 (다른필드에 영향 O) (ex 몇일뒤)      // add() 필드 변경
7. roll()은 특정 필드의 값을 증가 또는 감소 (다른필드에 영향 X) (ex 몇일뒤)      // add() 필드 변경
8. Date의 메서드는 대부분 deprecated되었지만 여전히 사용

※ 캘린더종류 : 서양력 (우리나라 사용),   불교력,  일본력 

예제1

 

예제2
 오버로딩된 다양한 set() 메서드가 있음

 get() 예시

 

두 날짜 차이를 얻으려면

① 두 날짜를 초로 변환                               // ( getTimeInMillis() = 1000분의 1초 ) 

② 날짜1(초) - 날짜2(초) = 결과(초)             // 1000분의 1초를 → 1초로 바꾸려면, 1000분의 1초 / 1000 을 한다.           

③ 결과를 원하는 연월일이나 시분초로 변환

※ 초단위를 시간으로 구하기위해 60분 * 60초 = 3600

 

두 시간 차이 ( set()예시 )

 

clear()는 Calendar객체의 모든필드 초기화 

 

set을 사용할때는 celar() 후 진행하는게 정확


add() 필드 값을 증가 or 감소


예제 달력만들기


Date와 Calendar간의 형변환

Date의 메서드는 대부분 deprecated되었지만 여전히 사용

 

 

 


출처 : 남궁성의 정석코딩

https://www.youtube.com/@MasterNKS

 

+ Recent posts