我的API允许图书馆客户传递日期:

method(java.util.Date date)

从这个日期开始,我要使用Joda-Time来提取月份并在本月包含的所有天中进行迭代。

现在,传递的日期通常是new Date()-表示当前时刻。我的问题实际上是将新的DateMidnight(jdkDate)实例设置为月初。

有人可以用Joda-Time演示这个用例吗?

最佳答案

本月第一天开始时的午夜时间为:

// first midnight in this month
DateMidnight first = new DateMidnight().withDayOfMonth(1);

// last midnight in this month
DateMidnight last = first.plusMonths(1).minusDays(1);

如果从java.util.Date开始,则使用另一个DateMidnight构造函数:
// first midnight in java.util.Date's month
DateMidnight first = new DateMidnight( date ).withDayOfMonth(1);

Joda Time Java文档-https://www.joda.org/joda-time/apidocs/overview-summary.html

10-05 19:47