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

Java 如何使用给定的时间戳构建月的第一个月和最后一个月作为时间戳?,java,date,coding-style,jodatime,Java,Date,Coding Style,Jodatime,假设给定的时间戳时间戳: 我正在使用Joda时间构建月的第一天: DateTime dateTime = new DateTime(timestamp); MutableDateTime firstOfMonth = dateTime.toMutableDateTime(); firstOfMonth.setDayOfMonth(1); firstOfMonth.setTime(0, 0, 0, 0); MutableDateTime lastOfMonth = firstOfMont

假设给定的
时间戳时间戳

我正在使用Joda时间构建月的第一天:

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);
以及每月的最后一天:

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);
但我想知道计算
firstOfMonth
lastOfMonth
需要这么多代码。有更干净的方法吗?

我在


这一点已经被很好地涵盖了(尽管不完全是这个问题)[这里][1]。[1] :这看起来很有希望-它实际上是将其设置为每月的最后一毫秒,还是只更新day字段?据我所知,只有相应的属性(在本例中为
dateOfMonth
)根据日期时间设置为最小/最大值。我目前无法测试它。