Получить текущую дату, время и метку времени в Java 8

Получить текущую дату, время и метку времени в Java 8

1. Вступление

В этой быстрой статье описывается, как мы можем получить текущую дату, текущее время и текущую метку времени в Java 8.

2. Текущая дата

Во-первых, давайте используемjava.time.LocalDate, чтобы получить текущую системную дату:

LocalDate localDate = LocalDate.now();

Чтобы получить дату в любом другом часовом поясе, мы можем использоватьLocalDate.now(ZoneId):

LocalDate localDate = LocalDate.now(ZoneId.of("GMT+02:30"));

Мы также можем использоватьjava.time.LocalDateTime, чтобы получить экземплярLocalDate:

LocalDateTime localDateTime = LocalDateTime.now();
LocalDate localDate = localDateTime.toLocalDate();

3. Текущее время

Используяjava.time.LocalTime, давайте получим текущее системное время:

LocalTime localTime = LocalTime.now();

Чтобы получить текущее время в определенном часовом поясе, мы можем использоватьLocalTime.now(ZoneId):

LocalTime localTime = LocalTime.now(ZoneId.of("GMT+02:30"));

Мы также можем использоватьjava.time.LocalDateTime, чтобы получить экземплярLocalTime:

LocalDateTime localDateTime = LocalDateTime.now();
LocalTime localTime = localDateTime.toLocalTime();

4. Текущее время

Используйтеjava.time.Instant, чтобы получить отметку времени из эпохи Java. СогласноJavaDoc, «эпоха-секунды отсчитываются от стандартной эпохи Java 1970-01-01T00: 00: 00Z, где моменты после эпохи имеют положительные значения:

Instant instant = Instant.now();
long timeStampMillis = instant.toEpochMilli();

Мы можем получить количество секунд эпох-секунд:

Instant instant = Instant.now();
long timeStampSeconds = instant.getEpochSecond();

5. Заключение

В этом руководстве мы сосредоточились на использованииjava.time.* для получения текущей даты, времени и отметки времени.

Как всегда доступен код статьиover on GitHub.