Back-End/Java

[ JAVA ] Date, Calendar

oahee 2023. 8. 15. 12:41

1. Date

  • java.util.Date   -   JDK1.0 부터 제공
  • Date 객체 생성방법
    • public class Date implements java.io.Serializable, Cloneable, Comparable<Date>
Date d = new Date();

/* 생성자
public Date()
public Date(long date)
public Date(int year, int month, int date)
public Date(int year, int month, int date, int hrs, int min)
public Date(int year, int month, int date, int hrs, int min, int sec)
public Date(String s)
*/
  • Date클래스 메서드
    • 주의사항 : year는 1900년을 기준으로 세기 때문에 1900을 빼야함.

                               월 : 0(1월) ~ 11(12월)

메서드 설명
long parse( String s ) 문자열을 읽어와 
int getXXX() XXX필드에 저장된 값을 반환
int setXXX( int xxxx ) XXX 필드를 특정값으로 저장
boolean before( Date when ) 현재 Date 인스턴스가 전달된 객체가 나타내는 시간보다 이전인지를 확인함
boolean after( Date when ) 현재 Date 인스턴스가 전달된 객체가 나타내는 시간보다 나중인지를 확인함
boolean equals( Object obj ) 현재 Date 인스턴스가 전달된 객체가 나타내는 시간과 일치한지를 확인함
int compareTo( Date anotherDate ) 현재 Date 인스턴스가 전달된 객체가 나타내는 시간과 일치한지를 확인함 (-정수, 0, 정수)
String toLocaleString() 현재위치가 갖는 포맷으로 문자열 반환
String toGMTString() d MMM yyyy HH:mm:ss 'GMT' 포맷으로 문자열 반환

 

 

2. Calendar

  • java.util.Calendar   -   JDK1.1 부터 제공
  • Calendar 객체 생성방법
    • Calendar는 추상 클래스로 직접 생성자를 사용해서 인스턴스를 생성할 수 없다.
    • 지역마다 쓰는 달력이 다르기 때문에, Calendar는 추상클래스로 만들어 졌다.
    • public abstract class Calendar implements Serializable, Cloneable, Comparable<Calendar>
// [1]
Calendar c = Calendar.getInstance();

// [2]
Calendar c = new GregorianCalendar();

                 [1] 번은 Calendar의 static method인 getInstance()를 사용하여 Calendar 객체를 생성했다.

                 [2]번에서 사용한 GregorianCalendar는 Calendar를 상속받아 만들어진 전국 표준 달력이다.

                                             Calendar를 상속받았기 때문에 업캐스팅이 가능하다.

                                            ( public cladd GregorianCalendar extends Calendar )

  • Calendar의 filed와 method
필드
YEAR
MONTH  월 : 0(1월) ~ 11(12월)
DATE
DAY_OF_MONTH  해당 월의 몇일째 인가
DAY_OF_YEAR 해당 년의 몇일째인가
HOUR  0~11
HOUR_OF_DAY  0~23
MINUTE
SECOND
MILLISECOND 밀리초
DAY_OF_WEEK  1(일요일) ~ 7(토요일)
WEEK_OF_MONTH  해당 월의 몇번째 주인가
WEEK_OF_YEAR  해당 년의 몇번째 주인가
메서드 설명
void add( int field, int amount ) 전달된 Calendar 필드에서 특정 시간 만큼을 더함
boolean after( Object when ) 현재 Calendar 인스턴스가 전달된 객체가 나타내는 시간보다 나중인지를 확인함
boolean before( Object when ) 현재 Calendar 인스턴스가 전달된 객체가 나타내는 시간보다 이전인지를 확인함
void clear( int field ) 현재 Calendar 인스턴스의 모든 필드의 값을 undefined로 설정함
int get( int field ) 전달된 Calendar 필드에 저장된 값을 반환함
void roll( int field, int amount ) 전달된 Calendar 필드에서 특정 시간 만큼을 더하거나 뺌
add와의 차이점 : roll은 다른 필드에 영향을 미치지 않음
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 year, int month, int date, int hourOfDay, int minute, int second )
전달된 Calendar 필드를 특정 값으로 설정함
Date getTime() 현재 Calendar 인스턴스의 시간 정보를 나타내는 Date 인스턴스를 생성하여 반환함
static Calendar getInstance() 시스템의 현재 날짜와 시간으로 Calendar 인스턴스를 생성하여 반환함

 

https://process-y.tistory.com/28

 

[ JAVA ] Date to Calendar / Calendar to Date

1. Calendar to Date Calendar c = Calendar.getInstance(); // [1] Date today = new Date( c.getTimeInMillis() ); // [2] Date today = c.getTime(); 2. Date to Calendar Date today = new Date(); Calendar c = Calendar.getInstance(); c.setTime(today);

process-y.tistory.com

 

https://process-y.tistory.com/31

 

[ JAVA ] java.time

1. java.time JDK1.8 부터 제공 - Java version 8 이상 사용 가능 날짜, 시간을 다루는 기능이 구현된 클래스 하위 패키지 java.time.chrono : 표준(ISO)이 아닌 달력 시스템을 위한 클래스 제공 java.time.format : 형

process-y.tistory.com

 

'Back-End > Java' 카테고리의 다른 글

[ JAVA ] Collection  (0) 2023.08.17
[ JAVA ] java.time  (0) 2023.08.15
[ JAVA ] Date to Calendar / Calendar to Date  (0) 2023.08.13
[ JAVA ] 클래스간의 관계 1) has-a, DI(Dependency Injection)  (0) 2023.08.02
[ JAVA ] 메서드(함수)  (0) 2023.07.23