JAVA/기초

[JAVA] Date 클래스

안양큰스님 2024. 2. 19. 01:35

Java에서 `Date` 클래스는 날짜와 시간을 나타내는 데 사용됩니다. 그러나 Java 8 이전에는 많은 문제가 있어서 Java 8에서는 새로운 날짜 및 시간 API인 `java.time` 패키지가 소개되었습니다. `Date` 클래스는 이제는 오래되었으며, 대부분의 경우에는 `java.time` 패키지를 사용하는 것이 좋습니다. 하지만 `Date` 클래스에 대해 아직 알아두어야 할 중요한 내용이 있습니다.

 

 Date 클래스의 주요 특징

  1. 날짜 및 시간 표현 : `Date` 클래스는 특정 시점을 나타냅니다. 이 시점은 해당 객체가 생성된 시점을 기준으로 합니다. 날짜와 시간을 동시에 포함합니다.

  2. Mutable(가변 ): `Date` 클래스는 가변 객체이므로 한 번 생성된 후에는 변경될 수 있습니다. 이로 인해 다중 스레드 환경에서 안전하지 않을 수 있습니다.

  3. Deprecated 메서드들 : `Date` 클래스에는 `getYear()`, `getMonth()`, `getDay()`와 같은 메서드들이 있지만, 이들은 Java 1.1부터 deprecated되었습니다. 대신, `Calendar` 클래스를 사용하는 것이 권장됩니다.

  4. 약한 정확도 : `Date` 클래스는 밀리초까지만 정확한 값을 표현합니다. 즉, 초 단위까지만 정확하게 나타냅니다. 밀리초 이하는 반올림됩니다.

  5. 주요 메서드
    1. `getTime()` : 이 메서드는 1970년 1월 1일 00:00:00 GMT를 기준으로 한 밀리초 단위의 시간을 반환합니다.
    2. `setTime(long time)` : `Date` 객체의 시간을 설정합니다.
    3. `toString()` : 날짜와 시간을 사람이 읽을 수 있는 형태로 문자열로 반환합니다.

 

예시

import java.util.Date;

public class Main {
    public static void main(String[] args) {
        Date now = new Date();
        System.out.println("현재 날짜 및 시간: " + now);

        long currentTime = now.getTime();
        System.out.println("현재 시간 (밀리초): " + currentTime);

        now.setTime(currentTime + 1000); // 1초 뒤로 설정
        System.out.println("1초 뒤의 날짜 및 시간: " + now);
    }
}


위의 예시는 `Date` 객체를 생성하고 현재 시간을 출력한 다음, 시간을 1초 뒤로 설정하여 다시 출력하는 간단한 예제입니다.

Java에서는 `Date` 클래스 대신 `java.time` 패키지의 클래스들을 사용하는 것이 좋습니다. 예를 들어 `Instant`, `LocalDateTime`, `ZonedDateTime` 등을 사용할 수 있습니다. 이러한 클래스들은 더욱 정확하고 강력하며, 다중 스레드 환경에서 안전합니다.

'JAVA > 기초' 카테고리의 다른 글

[JAVA] 가변인수(VarArgs)  (0) 2024.02.20
[JAVA] BigDecimal 클래스  (0) 2024.02.20
[JAVA] Wrapper 클래스의 auto boxing  (1) 2024.02.19
자바 상수  (0) 2022.05.30
자바의 변수  (0) 2022.05.30