1. LocalDateTime클래스

이 클래스는 및 클래스 LocalDateTime의 기능을 결합하여 날짜와 시간을 모두 저장합니다. 개체도 변경할 수 없으며 메서드는 및 클래스의 메서드와 유사합니다.LocalDateLocalTimeLocalDateLocalTime

현재 날짜 및 시간 가져오기

모든 것이 여기에서 예상한 대로입니다. 우리는 이 now()방법을 사용합니다. 예:

암호 콘솔 출력
LocalDateTime time = LocalDateTime.now();
System.out.println("Now = " + time);

Now = 2019-02-22T09:49:19.275039200

화면에 표시될 때 날짜와 시간은 문자 로 구분됩니다 T.

특정 날짜 및 시간 가져오기

LocalDate당연히 모든 것이 및 클래스 와 유사합니다 LocalTime. 다음 방법을 사용합니다 of().

... = LocalDateTime.of(year, month, day, hours, minutes, seconds);

먼저 클래스와 동일한 형식으로 날짜를 지정하는 매개변수가 있습니다 LocalDate. 그런 다음 클래스에서와 동일한 형식으로 시간을 지정하는 매개 변수가 있습니다 LocalTime. 방법 의 모든 변형 목록은 of()다음과 같습니다.

행동 양식
of (int year, int month, int day, int hour, int minute)
of (int year, int month, int day, int hour, int minute, int second)
of (int year, int month, int day, int hour, int minute, int second, int nano)
of (int year, Month month, int day, int hour, int minute)
of (int year, Month month, int day, int hour, int minute, int second)
of (int year, Month month, int day, int hour, int minute, int second, int nano)
of (LocalDate date, LocalTime time)

날짜를 직접 설정하거나 객체를 통해 간접적으로 설정할 수 LocalDate있습니다 LocalTime.

암호
LocalDate date = LocalDate.now();
LocalTime time = LocalTime.now();
LocalDateTime current = LocalDateTime.of(date, time);
System.out.println("Now = " + current);

LocalDateTime date = LocalDateTime.of(2019, Month.MAY, 15, 12, 15, 00);
System.out.println("Now = " + date);
콘솔 출력
Now = 2019-02-22T10:05:38.465675100
Now = 2019-05-15T12:15

LocalDateTime클래스에는 날짜 및/또는 시간 요소를 가져오는 메서드가 있습니다. LocalDate그들은 및 클래스 의 메서드를 정확히 반영합니다 LocalTime. 여기서는 반복하지 않겠습니다.



2. Instant클래스

Java 제작자도 구식 방식을 잊지 않았습니다.

Date Time API에는 컴퓨터에서 발생하는 프로세스를 위한 시간 작업을 위한 Instant 클래스가 포함되어 있습니다. 시, 분, 초 대신 초, 밀리초, 나노초를 처리합니다 .

이 클래스에는 다음을 나타내는 두 개의 필드가 있습니다.

  • 1970년 1월 1일 이후 경과된
  • 나노초의

이 수업은 개발자를 위해 만들어졌나요? 예. 그렇기 때문에 1970년 초에 시작하는 Unix-time으로 시간을 계산합니다.

클래스는 프로그래머가 필요로 하는 것만 유지하는 클래스 Instant의 단순화된 버전 이라고 말할 수도 있습니다 .Date

Instant객체와 똑같은 방식으로 객체를 가져올 수 있습니다 LocalTime.

Instant timestamp = Instant.now();

여기서 timestampInstant변수이고 클래스 의 정적 메서드에 대한 호출입니다 .Instant.now()now()Instant

예:

암호 콘솔 출력
Instant timestamp = Instant.now();
System.out.println(timestamp);

2019-02-22T08:42:42.234945300Z

of()1970년 1월 1일 이후 경과된 시간을 전달하여 메서드 의 변형을 사용하여 새 개체를 만들 수도 있습니다 .

ofEpochMilli(long milliseconds)
밀리 초 수를 전달해야합니다
ofEpochSecond(long seconds)
초 수를 전달해야 합니다.
ofEpochSecond(long seconds, long nanos)
초와 나노초를 통과해야 합니다.

Instant개체 에서 사용할 수 있는 메서드

Instant 클래스에는 해당 필드의 값을 반환하는 두 가지 메서드가 있습니다.

long getEpochSecond()
1970년 1월 1일 이후 경과된 시간(초)
int getNano()
나노초.
long toEpochMilli()
1970년 1월 1일 이후 경과된 시간(밀리초)

Instant기존 개체를 기반으로 새 개체를 만드는 방법도 있습니다 .

Instant plusSeconds(long)
현재 시간에 초를 더합니다.
Instant plusMillis(long)
밀리초 추가
Instant plusNanos(long)
나노초 추가
Instant minusSeconds(long)
초 빼기
Instant minusMillis(long)
밀리초 빼기
Instant minusNanos(long)
나노초를 뺍니다

예:

암호 콘솔 출력
Instant timestamp = Instant.now();
System.out.println(timestamp);

long n = timestamp.toEpochMilli();
Instant time = Instant.ofEpochMilli(n);
System.out.println(time);

2019-02-22T09:01:20.535344Z



2019-02-22T09:01:20.535Z