본문 바로가기
Programming/Java

[자바/Java] Date 클래스

by 코딩하는 랄로 2023. 10. 10.
728x90

Date 클래스

자바에서는 날짜와 시간을 다룰 수 있는 여러 메소드를 제공하는 Date 클래스가 있다. java.util.Date를 import 하여 해당 객체의 메소드를 사용할 수 있다.

 

JDK 1.8(Java 8) 부터는 java.time.* 패키지를 통해 Date, Calendar 클래스를 충분히 대체할 수 있으나, 오랜 시간 써 온 클래스인 만큼 자바를 다루는 개발자라면 알아두면 유용하다.(But, Date 클래스의 경우 자바에서 사용을 지양을 하고 있기 때문에 Date 클래스는 기본 지식으로서 알아두기만...)

 

 

 

기본 생성자

Date 객체는 기본 생성자를 통해 생성할 수 있고 이 때에 객체에는 현재 날짜, 시간이 담긴다.

//기본생성자를 통한 객체 생성 <- 생성 시에 날짜/시간 데이터가 담김
Date now = new Date();

//toString을 통해 저장된 날짜/시간 출력
System.out.println(now.toString());  //출력 예 : Tue Oct 10 22:25:30 KST 2023

 

 

get...() 메소드

Date 클래스는 다양한 get 메소드를 통해 여러 날짜/시간 정보를 얻을 수 있다.

  • getDate() : 달의 날짜를 반환(0-31)
  • getDay() : 주의 날짜를 반환(0-6)
  • getFullYear() : 년도를 반환
  • getHours() : 시간을 반환(0-23)
  • getMilliseconds() : 1000분의 1초를 반환(0-999)
  • getMinutes() : 분을 반환(0-59)
  • getMonth(() : 달을 반환(0-11)
  • getSeconds() : 초를 반환(0-59)
  • getTime() : 1970년 1월 1일 자정 이후의 1000분의 1초의 숫자를 반환
  • getTimezoneOffset() : GMT와 local 시간 사이의 차이를 분으로 반환

 

 

 

SimpleDateFormat

SimpleDateFormat(java.util.SimpleDateFormat)은 Date객체의 날짜/시간 형식을 사용자가 지정할 수 있도록 해주는 클래스이다. 다음 표는 SimpleDateFormat의 패턴 작성에 사용되는 기호들이다.

 

위의 표를 이용하여 생성한 Date 객체의 format을 변환하면 다음과 같은 결과를 얻을 수 있다. 

Date now = new Date(); //Tue Oct 10 22:25:30 KST 2023

SimpleDateFormat sdf1 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); 
SimpleDateFormat sdf2 = new SimpleDateFormat("yyyy-MM-dd a HH:mm:ss"); 
SimpleDateFormat sdf3 = new SimpleDateFormat("yyyy년 MM월 dd일");

System.out.println(sdf1.format(now));  //2023-10-10 22:25:30
System.out.println(sdf2.format(now));  //2023-10-10 오후 10:25:30
System.out.println(sdf3.format(now));  //2023년 10월 10일

 

728x90