Константа 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
,
которая представляет день месяца