Java에서는 다양한 방법으로 현재 날짜와 시간을 가져올 수 있습니다. 이 글에서는 가장 많이 사용되는 대표적인 네 가지 방법을 예제 코드와 함께 소개합니다.
1. Date 클래스의 생성자 활용
java.util.Date 클래스의 인수 없는(no-arg) 생성자를 호출하면 현재 날짜와 시간을 나타내는 Date 객체가 반환됩니다.
예제
import java.util.Date;
public class CreateDate {
public static void main(String args[]) {
Date date = new Date();
System.out.print(date);
}
}
실행 결과
Thu Nov 05 20:04:57 IST 2020
2. LocalDateTime 클래스의 now() 메서드 활용
Java 8부터 도입된 java.time.LocalDateTime 클래스의 now() 메서드는 현재 날짜와 시간을 나타내는 객체를 반환합니다. 기존의 Date 클래스보다 직관적이고 스레드에 안전하기 때문에 최신 Java 개발에서 권장되는 방식입니다.
예제
import java.time.LocalDate;
import java.time.LocalDateTime;
public class CreateDateTime {
public static void main(String args[]) {
LocalDateTime date = LocalDateTime.now();
System.out.println("Current Date and Time: "+date);
}
}
실행 결과
Current Date and Time: 2020-11-05T21:49:11.507
3. Calendar 클래스의 getInstance() 메서드 활용
java.util.Calendar 클래스의 getInstance() 메서드를 인수 없이 호출하면 현재 날짜와 시간을 나타내는 Calendar 객체를 얻을 수 있습니다. 이 객체에 getTime() 메서드를 호출하면 Date 타입으로 변환할 수도 있습니다.
예제
import java.util.Calendar;
import java.util.Date;
public class CreateDateTime {
public static void main(String[] args) {
Calendar obj = Calendar.getInstance();
Date date = obj.getTime();
System.out.println("Current Date and time: "+date);
}
}
실행 결과
Current Date and time: Thu Nov 05 21:46:19 IST 2020
4. java.time.Clock 클래스 활용
java.time.Clock 클래스를 사용하면 UTC(협정 세계시) 기준의 현재 날짜와 시간 값도 손쉽게 가져올 수 있습니다. systemUTC()로 Clock 객체를 생성한 뒤 instant() 메서드를 호출하면 현재 시각이 Instant 객체로 반환됩니다.
예제
import java.time.Clock;
public class CreateDateTime {
public static void main(String args[]) {
Clock obj = Clock.systemUTC();
System.out.println("Current date time: "+obj.instant());
}
}
실행 결과
Current date time: 2020-11-05T16:33:06.155Z