Метод minusMonths
Метод minusMonths класса LocalDate вычитает
заданное количество месяцев из текущей даты и возвращает
новый объект LocalDate. Исходный объект при этом
не изменяется, так как класс LocalDate является
неизменяемым. В параметр мы передаем количество месяцев,
которое нужно вычесть. Значение может быть отрицательным,
тогда вычитание превращается в прибавление месяцев.
Синтаксис
localDate.minusMonths(monthsToSubtract)
Пример
Давайте вычтем 3 месяца из даты 2025-06-15:
import java.time.LocalDate;
public class Main
{
public static void main(String[] args)
{
LocalDate date = LocalDate.of(2025, 6, 15);
LocalDate res = date.minusMonths(3);
System.out.println(res);
}
}
Результат выполнения кода:
"2025-03-15"
Пример
Если при вычитании месяцев день месяца выходит за пределы
допустимого диапазона, он автоматически корректируется
до последнего дня месяца. Вычтем 1 месяц из
даты 2025-03-31:
import java.time.LocalDate;
public class Main
{
public static void main(String[] args)
{
LocalDate date = LocalDate.of(2025, 3, 31);
LocalDate res = date.minusMonths(1);
System.out.println(res);
}
}
Результат выполнения кода:
"2025-02-28"
Пример
Если передать отрицательное число, метод выполнит
прибавление месяцев. Прибавим 2 месяца к дате
2025-01-15 через minusMonths:
import java.time.LocalDate;
public class Main
{
public static void main(String[] args)
{
LocalDate date = LocalDate.of(2025, 1, 15);
LocalDate res = date.minusMonths(-2);
System.out.println(res);
}
}
Результат выполнения кода:
"2025-03-15"
Пример
Метод minusMonths можно вызывать цепочкой вместе
с другими методами изменения даты. Вычтем 1 месяц
и 10 дней из даты 2025-06-15:
import java.time.LocalDate;
public class Main
{
public static void main(String[] args)
{
LocalDate date = LocalDate.of(2025, 6, 15);
LocalDate res = date.minusMonths(1).minusDays(10);
System.out.println(res);
}
}
Результат выполнения кода:
"2025-05-05"
Смотрите также
-
метод
plusMonths,
который прибавляет месяцы к дате -
метод
minusDays,
который вычитает дни из даты -
метод
minusYears,
который вычитает годы из даты -
метод
LocalDate,
который представляет дату без времени