Функция minusYears
Функция minusYears класса YearMonth возвращает новый объект YearMonth, полученный вычитанием указанного количества лет из исходного.
В параметр мы передаем количество лет для вычитания. Функция корректно обрабатывает високосные годы и сохраняет месяц неизменным.
Импорт
import java.time.YearMonth
Синтаксис
fun minusYears(yearsToSubtract: Long): YearMonth
Пример
Вычтем 2 года из объекта YearMonth:
val yearMonth = YearMonth.of(2025, 7)
val result = yearMonth.minusYears(2)
println(result)
Результат выполнения кода:
String "2023-07"
Пример
Вычтем 5 лет из текущего года и месяца:
val current = YearMonth.now()
val result = current.minusYears(5)
println("Current: $current, After subtraction: $result")
Результат выполнения кода:
String "Current: 2025-09, After subtraction: 2020-09"
Пример
Проверим обработку високосного года при вычитании:
val leapYear = YearMonth.of(2024, 2)
val result = leapYear.minusYears(1)
val daysInOriginal = leapYear.lengthOfMonth()
val daysInResult = result.lengthOfMonth()
println("Original: $leapYear ($daysInOriginal days)")
println("After -1 year: $result ($daysInResult days)")
Результат выполнения кода:
String "Original: 2024-02 (29 days)"
String "After -1 year: 2023-02 (28 days)"
Смотрите также
-
функцию
plusYearsклассаYearMonth,
которая добавляет годы к объекту YearMonth -
функцию
minusMonthsклассаYearMonth,
которая вычитает месяцы из объекта YearMonth -
функцию
ofклассаYearMonth,
которая создает YearMonth из года и месяца -
функцию
getYearклассаYearMonth,
которая возвращает год из объекта YearMonth