Класс Period
Класс Period представляет собой период времени,
состоящий из трех компонентов: количества лет, месяцев
и дней. Он часто используется вместе с классами
LocalDate и LocalDateTime для выполнения
арифметических операций над датами. Объект Period
не привязан к конкретной дате или времени - он описывает
именно длительность в календарных единицах. Создать
период можно с помощью статических методов of,
ofDays, ofMonths, ofYears,
а также вычислить разницу между двумя датами с помощью
метода between.
Синтаксис
Period.ofYears(years)
Period.ofMonths(months)
Period.ofDays(days)
Period.of(years, months, days)
Period.between(startDate, endDate)
Пример
Давайте создадим период в 2 года, 3 месяца
и 10 дней и выведем его компоненты на экран:
import java.time.Period;
public class Main
{
public static void main(String[] args)
{
Period period = Period.of(2, 3, 10);
System.out.println(period.getYears());
System.out.println(period.getMonths());
System.out.println(period.getDays());
}
}
Результат выполнения кода:
2
3
10
Пример
Давайте вычислим период между двумя датами:
import java.time.LocalDate;
import java.time.Period;
public class Main
{
public static void main(String[] args)
{
LocalDate start = LocalDate.of(2020, 1, 15);
LocalDate end = LocalDate.of(2023, 5, 20);
Period period = Period.between(start, end);
System.out.println(period.getYears());
System.out.println(period.getMonths());
System.out.println(period.getDays());
}
}
Результат выполнения кода:
3
4
5
Пример
Давайте прибавим период к дате с помощью метода
plus:
import java.time.LocalDate;
import java.time.Period;
public class Main
{
public static void main(String[] args)
{
LocalDate date = LocalDate.of(2023, 1, 1);
Period period = Period.ofMonths(3);
LocalDate res = date.plus(period);
System.out.println(res);
}
}
Результат выполнения кода:
2023-04-01