Класс Year
Класс Year представляет год в календарной системе ISO-8601 и предоставляет методы для проверки високосности года,
получения его длины в днях, а также для выполнения арифметических операций с годами.
Импорт
import java.time.Year
Создание объекта Year
// Создание года из числового значения
fun of(isoYear: Int): Year
// Получение текущего года из системных часов
fun now(): Year
// Парсинг года из строки
fun parse(text: CharSequence): Year
Пример
Создадим объект Year для 2025 года:
val year = Year.of(2025)
println(year)
Результат выполнения кода:
String "2025"
Пример
Получим текущий год:
val currentYear = Year.now()
println(currentYear)
Результат выполнения кода:
String "2025"
Пример
Распарсим год из строки:
val year = Year.parse("2025")
println(year)
Результат выполнения кода:
String "2025"
Основные методы
// Получение числового значения года
fun getValue(): Int
// Проверка на високосный год
fun isLeap(): Boolean
// Получение длины года в днях
fun length(): Int
Пример
Проверим, является ли 2025 год високосным:
val year = Year.of(2025)
val isLeap = year.isLeap()
println("Is leap year: $isLeap")
Результат выполнения кода:
String "Is leap year: false"
Пример
Получим длину 2025 года в днях:
val year = Year.of(2025)
val length = year.length()
println("Days in year: $length")
Результат выполнения кода:
String "Days in year: 365"
Арифметические операции
// Прибавление лет
fun plusYears(yearsToAdd: Long): Year
// Вычитание лет
fun minusYears(yearsToSubtract: Long): Year
Пример
Прибавим 5 лет к 2025 году:
val year = Year.of(2025)
val futureYear = year.plusYears(5)
println(futureYear)
Результат выполнения кода:
String "2030"
Пример
Вычтем 3 года из 2025 года:
val year = Year.of(2025)
val pastYear = year.minusYears(3)
println(pastYear)
Результат выполнения кода:
String "2022"
Создание дат из года
// Создание LocalDate для указанного дня года
fun atDay(dayOfYear: Int): LocalDate
// Создание YearMonth с указанным месяцем
fun atMonth(month: Int): YearMonth
// Создание LocalDate с указанным MonthDay
fun atMonthDay(monthDay: MonthDay): LocalDate
Пример
Создадим дату 15-го дня 2025 года:
val year = Year.of(2025)
val date = year.atDay(15)
println(date)
Результат выполнения кода:
String "2025-01-15"
Сравнение годов
// Проверка, является ли год более поздним
fun isAfter(other: Year): Boolean
// Проверка, является ли год более ранним
fun isBefore(other: Year): Boolean
Пример
Сравним два года:
val year2025 = Year.of(2025)
val year2030 = Year.of(2030)
val isBefore = year2025.isBefore(year2030)
val isAfter = year2025.isAfter(year2030)
println("2025 before 2030: $isBefore")
println("2025 after 2030: $isAfter")
Результат выполнения кода:
String "2025 before 2030: true"
String "2025 after 2030: false"