如何使用给定的时间戳构建时间戳的第一个月和最后一个月?

时间:2011-09-01 15:25:34

标签: java date coding-style jodatime

假设给定Timestamp timestamp

我正在使用Joda Time来构建本月的第一天:

DateTime dateTime = new DateTime(timestamp);    
MutableDateTime firstOfMonth = dateTime.toMutableDateTime();
firstOfMonth.setDayOfMonth(1);
firstOfMonth.setTime(0, 0, 0, 0);

以及该月的最后一天:

MutableDateTime lastOfMonth = firstOfMonth.toMutableDateTime();
lastOfMonth.addMonths(1);
lastOfMonth.addMillis(-1);

但我想知道计算firstOfMonthlastOfMonth这需要这么多代码。有更清洁的方式吗?

1 个答案:

答案 0 :(得分:1)

我在documentation

中找到了这个
DateTime dt = ...
DateTime firstDayOfMonth = dt.dayOfMonth().withMinimumValue();
DateTime lastDayOfMonth = dt.dayOfMonth().withMaximumValue();