Следите за новинками
в нашем Telegram канале. Жми, чтобы подписаться:)
⊗jvSpDtPr 153 of 322 menu
◀ ▶

Календарный период в Java

Period хранит календарный шаг: годы, месяцы и дни. Так считают срок подписки, возраст или разницу между двумя датами в календаре. Секунды и часы сюда не входят.

Период между датами дает Period.between. Фиксированный интервал собирают ofYears, ofMonths, ofDays или разбором строки ISO P1Y2M3D:

import java.time.LocalDate; import java.time.Period; public class Main { public static void main(String[] args) { LocalDate a = LocalDate.of(2019, 12, 31); LocalDate b = LocalDate.of(2020, 2, 1); Period gap = Period.between(a, b); System.out.println(gap.getMonths()); System.out.println(gap.getDays()); } }

К дате период прибавляют plus и вычитают minus. Метод учитывает длину месяцев и високосные годы:

import java.time.LocalDate; import java.time.Period; public class Main { public static void main(String[] args) { LocalDate start = LocalDate.of(2024, 1, 31); LocalDate next = start.plus(Period.ofMonths(1)); System.out.println(next); } }

Текстовое представление периода удобно для отладки: toString вернет форму вроде P1M1D. Не путайте Period с Duration: между полночью и полуднем на одной дате период нулевой, а длительность - полдня.

Найдите период от 2022-01-15 до текущей даты и выведите количество лет.

Даны даты 2025-01-10 и 2025-04-20. Выведите текстовое представление периода между ними.

← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить