Quarter
& YearQuarter
Добавьте библиотеку ThreeTen-Extra в ваш проект. Вы можете получить доступ к удобным классам, которые расширяют возможности современных java.time классов, встроенных в Java и определенных в JSR 310.
Класс enum Quarter
представляет общие кварталы без года. Используйте этот класс в своем коде, а не просто целое число 1-4. Звук делает ваш код более самодокументируемым, обеспечивает безопасность типов и обеспечивает допустимые значения.
Quarter q = Quarter.Q2 ;
YearQuarter
представляет квартал в конкретном году.
YearQuarter yq = YearQuarter.of( 2019 , q ) ;
Получить дату первого дня этого квартала.
LocalDate start = yq.atDay( 1 ) ;
Получить дату последнего дня квартала.
LocalDate lastDate = yq.atEndOfQuarter() ;
Или для полуоткрытых диапазонов дат получите первый день следующего квартала.
LocalDate stop = yq.plusQuarters( 1L ).atDay( 1 ) ;
Вместо того, чтобы возвращать простой массив дат, используйте класс LocalDateRange
, также включенный в ThreeTen-Extra . Этот класс предлагает мощные методы сравнения, такие как содержит, прилегает, перекрывается и многое другое.
LocalDateRange qDates = LocalDateRange.of( start , stop ) ;