Константа YEAR_OF_ERA
Константа YEAR_OF_ERA класса ChronoField представляет год в пределах текущей эры.
Для эры CE (наша эра) значение года соответствует обычному году, для эры BCE (до нашей эры) значение года отсчитывается от 1 и увеличивается по мере удаления в прошлое.
Импорт
import java.time.temporal.ChronoField
Синтаксис
ChronoField.YEAR_OF_ERA
Пример
Получим значение года в эре для текущей даты:
import java.time.LocalDate
val currentDate = LocalDate.now()
val yearOfEra = currentDate.get(ChronoField.YEAR_OF_ERA)
println("Year of era: $yearOfEra")
Результат выполнения кода:
String "Year of era: 2025"
Пример
Сравним разницу между YEAR_OF_ERA и YEAR для даты до нашей эры:
import java.time.LocalDate
import java.time.chrono.IsoEra
val bcDate = LocalDate.of(-100, 1, 1)
val yearOfEra = bcDate.get(ChronoField.YEAR_OF_ERA)
val year = bcDate.get(ChronoField.YEAR)
val era = bcDate.get(ChronoField.ERA)
println("Year of era: $yearOfEra")
println("Year: $year")
println("Era: ${if (era == IsoEra.CE.value) "CE" else "BCE"}")
Результат выполнения кода:
String "Year of era: 101"
String "Year: -100"
String "Era: BCE"
Пример
Используем YEAR_OF_ERA с форматтером для вывода даты:
import java.time.format.DateTimeFormatter
import java.time.LocalDate
val date = LocalDate.of(2025, 12, 31)
val formatter = DateTimeFormatter.ofPattern("yyyy G - YYYY")
println(date.format(formatter))
Результат выполнения кода:
String "2025 AD - 2025"
Смотрите также
-
константу
YEARклассаChronoField,
которая представляет абсолютный год -
константу
ERAклассаChronoField,
которая представляет эру -
класс
DateTimeFormatter,
который форматирует дату и время