Функция from

Функция from класса JapaneseDate создает объект японской даты из объекта, реализующего интерфейс TemporalAccessor. В параметр мы передаем объект, из которого можно извлечь информацию о дате (год, месяц, день).

Импорт

kotlinimport java.time.chrono.JapaneseDate
import java.time.LocalDate

Синтаксис

kotlinfun from(temporal: TemporalAccessor): JapaneseDate

Пример

Создадим объект JapaneseDate из LocalDate:

kotlinval localDate = LocalDate.of(2025, 12, 31)
val japaneseDate = JapaneseDate.from(localDate)
println(japaneseDate)

Результат выполнения кода:

kotlinString "Japanese Heisei 37-12-31"

Пример

Получим компоненты даты после преобразования:

kotlinval localDate = LocalDate.of(2025, 7, 15)
val japaneseDate = JapaneseDate.from(localDate)

val era = japaneseDate.era
val year = japaneseDate.year
val month = japaneseDate.monthValue
val day = japaneseDate.dayOfMonth

println("Era: $era, Year: $year, Month: $month, Day: $day")

Результат выполнения кода:

kotlinString "Era: Heisei, Year: 37, Month: 7, Day: 15"

Пример

Попытка создания из неполных данных выбросит исключение:

kotlintry {
  val incompleteDate = LocalDate.of(2025, 12, 1)
  val japaneseDate = JapaneseDate.from(incompleteDate)
  println(japaneseDate)
} catch (e: Exception) {
  println("Error: ${e.message}")
}

Результат выполнения кода:

kotlinString "Error: Unable to obtain JapaneseDate from TemporalAccessor: 2025-12-01 of type java.time.LocalDate"

Смотрите также

  • функцию of класса JapaneseDate,
    которая создает японскую дату из числовых компонентов
  • функцию now класса JapaneseDate,
    которая возвращает текущую японскую дату
  • функцию from класса LocalDate,
    которая создает LocalDate из TemporalAccessor
  • класс LocalDate,
    который представляет дату в григорианском календаре