Класс HijrahDate
Класс HijrahDate представляет дату в исламском календаре, который также известен как календарь Хиджры.
Этот календарь является лунным и используется в мусульманских странах для религиозных целей.
Класс предоставляет методы для создания дат, получения компонентов даты и выполнения арифметических операций с датами.
Импорт
import java.time.chrono.HijrahDate
import java.time.LocalDate
Синтаксис создания
// Текущая дата в исламском календаре
fun now(): HijrahDate
// Создание даты из компонентов
fun of(prolepticYear: Int, month: Int, dayOfMonth: Int): HijrahDate
// Преобразование из LocalDate
fun from(temporal: TemporalAccessor): HijrahDate
Пример
Создадим текущую дату в исламском календаре:
val hijrahDate = HijrahDate.now()
println(hijrahDate)
Результат выполнения кода:
String "Hijrah-umalqura AH 1446-02-25"
Пример
Создадим конкретную дату в исламском календаре:
val hijrahDate = HijrahDate.of(1446, 2, 25)
println(hijrahDate)
Результат выполнения кода:
String "Hijrah-umalqura AH 1446-02-25"
Пример
Преобразуем дату из григорианского календаря в исламский:
val localDate = LocalDate.of(2025, 9, 11)
val hijrahDate = HijrahDate.from(localDate)
println(hijrahDate)
Результат выполнения кода:
String "Hijrah-umalqura AH 1447-03-18"
Пример
Получим компоненты даты исламского календаря:
val hijrahDate = HijrahDate.of(1446, 2, 25)
val year = hijrahDate.getYear()
val month = hijrahDate.getMonthValue()
val day = hijrahDate.getDayOfMonth()
println("Year: $year, Month: $month, Day: $day")
Результат выполнения кода:
String "Year: 1446, Month: 2, Day: 25"
Пример
Выполним арифметические операции с датами:
val hijrahDate = HijrahDate.of(1446, 2, 25)
val nextMonth = hijrahDate.plusMonths(1)
val nextYear = hijrahDate.plusYears(1)
println("Original: $hijrahDate")
println("Next month: $nextMonth")
println("Next year: $nextYear")
Результат выполнения кода:
String "Original: Hijrah-umalqura AH 1446-02-25"
String "Next month: Hijrah-umalqura AH 1446-03-25"
String "Next year: Hijrah-umalqura AH 1447-02-25"
Пример
Проверим, является ли год високосным в исламском календаре:
val hijrahDate = HijrahDate.of(1446, 2, 25)
val isLeapYear = hijrahDate.isLeapYear()
println("Is leap year: $isLeapYear")
Результат выполнения кода:
String "Is leap year: false"
Смотрите также
-
класс
LocalDate,
который представляет дату в григорианском календаре -
класс
JapaneseDate,
который представляет дату в японском календаре -
класс
ThaiBuddhistDate,
который представляет дату в буддийском календаре -
класс
MinguoDate,
который представляет дату в календаре Миньго