본문 바로가기
Java

[Java] 자바 1.8버전 현재날짜, 시간 구하기 | Date vs Calendar 비교

by dev_haha 2024. 1. 22.

오랜만에 쓰려니까 까묵까묵해서 정리.

 

자바 1.8버전 이전

  • java.util.Date
  • java.util.Calendar

 

자바 1.8버전 이후

  • java.time.LocalDate
  • java.time.LocalTime
  • java.time.LocalDateTime

java.util.Date
import java.util.Date;

Date now = new Date();

System.out.prinltn(now);	// Thu Jan 22 시:분:초 KST 2023

// 포맷팅 정의
SimpleDateFormat formatter = new SimpleDateFormat("yyyy년 MM월 dd일 HH시 mm분 ss초");

// 포맷팅 적용
String formatedNow = formatter.format(now);

System.out.println(formatedNow);	// 2023년 1월 22일 4시 44분 23초

 

java.util.Calendar
import java.util.Calendar;
import java.util.Date;

Date now = Calendar.getInstance().getTime();

System.out.println(now);	// Thu Jan 22 16:45:32 KST 2023

// 포맷팅 정의
SimpleDateFormat formatter = new SimpleDateFormat("yyyy년 MM월 dd일 HH시 mm분 ss초");

// 포맷팅 적용
String formatedNow = formatter.format(now);

System.out.println(formatedNow);	// 2023년 1월 22일 16시 47분 44초

 


Date vs Calendar

Date는 단순한 클래스이다. 즉, 특정시간을 지정하는 인스턴스이다. 

하위 연산이나 시간 사이의 계산이 필요한 경우에는 Calendar를 사용해야 한다. 

Date는 date object를 '저장'하는 것에 적합하며 (저장되면 serialize 된다.)

Calendar는 Date를 '조작'하는 것에 적합하다.