Константа EPOCH_DAY
Константа EPOCH_DAY класса ChronoField представляет количество дней, прошедших с эпохи Unix "1970-01-01".
Положительные значения соответствуют датам после эпохи, отрицательные - до эпохи.
Данное поле используется для получения и установки количества дней в различных временных объектах, таких как LocalDate.
Импорт
import java.time.temporal.ChronoField
Синтаксис
ChronoField.EPOCH_DAY
Пример
Получим количество дней с эпохи Unix для даты "2025-12-31":
import java.time.LocalDate
import java.time.temporal.ChronoField
val date = LocalDate.of(2025, 12, 31)
val epochDays = date.getLong(ChronoField.EPOCH_DAY)
println(epochDays)
Результат выполнения кода:
Long 20453
Пример
Создадим дату из количества дней с эпохи Unix:
import java.time.LocalDate
import java.time.temporal.ChronoField
val epochDays = 20453L
val date = LocalDate.ofEpochDay(epochDays)
println(date)
Результат выполнения кода:
String "2025-12-31"
Пример
Используем EPOCH_DAY для вычисления разницы в днях между двумя датами:
import java.time.LocalDate
import java.time.temporal.ChronoField
val date1 = LocalDate.of(2025, 1, 1)
val date2 = LocalDate.of(2025, 12, 31)
val days1 = date1.getLong(ChronoField.EPOCH_DAY)
val days2 = date2.getLong(ChronoField.EPOCH_DAY)
val difference = days2 - days1
println("Difference in days: $difference")
Результат выполнения кода:
String "Difference in days: 364"
Пример
Проверим валидность значения для поля EPOCH_DAY:
import java.time.temporal.ChronoField
val isValid = ChronoField.EPOCH_DAY.isValidValue(20000L)
println("Is valid: $isValid")
Результат выполнения кода:
String "Is valid: true"
Смотрите также
-
функцию
toEpochDayклассаLocalDate,
которая возвращает количество дней с эпохи Unix -
константу
DAY_OF_YEARклассаChronoField,
которая представляет день года -
константу
DAY_OF_MONTHклассаChronoField,
которая представляет день месяца