Класс Year

Класс Year представляет год в календарной системе ISO-8601 и предоставляет методы для проверки високосности года, получения его длины в днях, а также для выполнения арифметических операций с годами.

Импорт

kotlinimport java.time.Year

Создание объекта Year

kotlin// Создание года из числового значения
fun of(isoYear: Int): Year
kotlin// Получение текущего года из системных часов
fun now(): Year
kotlin// Парсинг года из строки
fun parse(text: CharSequence): Year

Пример

Создадим объект Year для 2025 года:

kotlinval year = Year.of(2025)
println(year)

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

kotlinString "2025"

Пример

Получим текущий год:

kotlinval currentYear = Year.now()
println(currentYear)

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

kotlinString "2025"

Пример

Распарсим год из строки:

kotlinval year = Year.parse("2025")
println(year)

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

kotlinString "2025"

Основные методы

kotlin// Получение числового значения года
fun getValue(): Int
kotlin// Проверка на високосный год
fun isLeap(): Boolean
kotlin// Получение длины года в днях
fun length(): Int

Пример

Проверим, является ли 2025 год високосным:

kotlinval year = Year.of(2025)
val isLeap = year.isLeap()
println("Is leap year: $isLeap")

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

kotlinString "Is leap year: false"

Пример

Получим длину 2025 года в днях:

kotlinval year = Year.of(2025)
val length = year.length()
println("Days in year: $length")

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

kotlinString "Days in year: 365"

Арифметические операции

kotlin// Прибавление лет
fun plusYears(yearsToAdd: Long): Year
kotlin// Вычитание лет
fun minusYears(yearsToSubtract: Long): Year

Пример

Прибавим 5 лет к 2025 году:

kotlinval year = Year.of(2025)
val futureYear = year.plusYears(5)
println(futureYear)

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

kotlinString "2030"

Пример

Вычтем 3 года из 2025 года:

kotlinval year = Year.of(2025)
val pastYear = year.minusYears(3)
println(pastYear)

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

kotlinString "2022"

Создание дат из года

kotlin// Создание LocalDate для указанного дня года
fun atDay(dayOfYear: Int): LocalDate
kotlin// Создание YearMonth с указанным месяцем
fun atMonth(month: Int): YearMonth
kotlin// Создание LocalDate с указанным MonthDay
fun atMonthDay(monthDay: MonthDay): LocalDate

Пример

Создадим дату 15-го дня 2025 года:

kotlinval year = Year.of(2025)
val date = year.atDay(15)
println(date)

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

kotlinString "2025-01-15"

Сравнение годов

kotlin// Проверка, является ли год более поздним
fun isAfter(other: Year): Boolean
kotlin// Проверка, является ли год более ранним
fun isBefore(other: Year): Boolean

Пример

Сравним два года:

kotlinval 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")

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

kotlinString "2025 before 2030: true"
String "2025 after 2030: false"

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

  • класс LocalDate,
    который представляет полную дату
  • класс YearMonth,
    который представляет год и месяц
  • метод getYear класса LocalDate,
    который возвращает год из даты
  • метод isLeap класса Year,
    который проверяет високосность года