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.*
для получения текущей даты, времени и отметки времени.
Как всегда, код статьи доступен на GitHub .