如何在"JODA"库中获取每个月的日子列表?



我需要在JODA库中获得每个月的天数列表。我该怎么做?

tl;dr

使用Joda time的继承者java.time

yearMonth               // An instance of `java.time.YearMonth`.
.atDay( 1 )             // Returns a `LocalDate` object for the first of the month.
.datesUntil(            // Get a range of dates.
yearMonth
.plusMonths( 1 )    // Move to the following month.
.atDay( 1 )         // Get the first day of that following month, a `LocalDate` object.
)                       // Returns a stream of `LocalDate` objects.
.toList()               // Collects the streamed objects into a list. 

对于没有Stream#toList方法的旧版本Java,请使用collect( Collectors.toList() )

java.time

Joda Time项目现在处于维护模式。该项目建议迁移到它的继任者,JSR310中定义并内置到Java8及更高版本中的java.time类。安卓26+有一个实现。对于早期的Android,最新的Gradle工具通过«API desugaring»提供了大部分java.time功能。

YearMonth

指定一个月。

YearMonth ym = YearMonth.now() ;

询问其长度。

int lengthOfMonth = ym.lengthOfMonth() ;

LocalDate

若要获取日期列表,请获取当月的第一个日期。

LocalDate start = ym.atDay( 1 ) ;

以及下一个月的第一天。

LocalDate end = ym.plusMonths( 1 ).atDay( 1 ) ;

获取介于两者之间的一连串日期。收集到列表中。

List< LocalDate > dates = start.datesUntil( end ).toList() ;

相关内容

  • 没有找到相关文章

最新更新