Java

Java Date 날짜시간 다루기

신비이 2024. 7. 18. 00:25
반응형

 

Java 개발을 하다 보면 날짜와 시간 관련해서 다루는 경우가 많습니다.

많이 사용되는 Date에 대해서 알아보겠습니다.

 

기본예시

Date() : 현재 날짜와 시간을 기준으로 Date 객체를 만듭니다.

Date now = new Date();
System.out.println(now); // "Tue Jul 16 20:08:01 KST 2024"

 

Date(long date) : 주어진 밀리초 값을 이용하여 Date 객체를 만듭니다.

long time = 1721128135502L;
Date date = new Date(time);
System.out.println(date); // "Tue Jul 16 20:08:55 KST 2024"

 

주요 메서드 활용예시

getTime() : Date 객체의 시간 값을 밀리초로 돌려줍니다.

Date now = new Date();
long currentTimeMillis = now.getTime();
System.out.println(currentTimeMillis); // "1721128186699"

 

setTime() : Date 객체의 시간 값을 지정된 밀리초 값으로 설정합니다.

Date now = new Date();
now.setTime(1721128186699L);
System.out.println(now); // "Tue Jul 16 20:09:46 KST 2024"

 

before(Date date) : 현재 날짜가 지정된 날짜보다 앞서면 `true`를 반환합니다.

Date date1 = new Date(1721128186699L); 
Date date2 = new Date(1721128206699L); 

System.out.println(date1.before(date2)); // "true"

 

after(Date date) : 현재 날짜가 지정된 날짜보다 늦으면 `true`를 반환합니다.

Date date1 = new Date(1721128186699L);
Date date2 = new Date(1721128206699L);

System.out.println(date1.after(date2)); // "false"

 

compareTo(Date date) : 현재 날짜와 지정된 날짜를 비교합니다.

Date date1 = new Date(1721128186699L);
Date date2 = new Date(1721128206699L);

System.out.println(date1.compareTo(date2)); // "-1"

 

toString() : Date 객체를 문자열 형태로 변환합니다.

Date now = new Date();
System.out.println(now.toString()); // "Tue Jul 16 20:12:04 KST 2024"

 

단점

1. 타입 안정성 부족 : Date 클래스는 날짜와 시간을 분리하여 개별적으로 처리할 수 있는 기능을 제공하지 않습니다.

2. 불변성 결여 : Date 객체는 변경 가능한(mutable) 객체이며, 생성 후에 값이 변경될 수 있어 멀티스레드 환경에서 안전하지 않습니다.

3. 국제화 문제 : Date 클래스는 시간대(time zone)나 지역(locale)에 따라 날짜와 시간을 다루는 기능이 제한적입니다.

4. 복잡한 API : 날짜와 시간을 다루기 위한 API는 사용자가 쉽게 이해하고 활용하기 어렵습니다.

 

반응형

'Java' 카테고리의 다른 글

Java SimpleDateFormat 패턴 날짜 포맷  (0) 2024.07.17
Java split 문자열 자르기 분할  (0) 2024.07.16
Java substring 문자열 자르기  (0) 2024.07.15
Java는 무엇인가(특징 및 장단점)  (0) 2024.07.14