我有一个YearMonth
个实例,有一个简单的方法来计算该实例的LocalDate
中的最后一天是什么吗?
我知道有一个toLocalDate(int day)
,但我可能不知道这个月是否有第31天。
当然,我总是可以将代码放在try-catch块中,然后首先尝试使用31
,如果失败,请尝试使用30
(或29
或28
2月)。
有更清洁的方式吗?
答案 0 :(得分:1)
转到下个月的第一天,然后减去一天?
答案 1 :(得分:0)
得到@MartinMilan(在大多数库中工作的标准算法)或者遵循JodaTime库的内置解决方案的答案:
YearMonth ym = YearMonth.now();
LocalDate endOfMonth = ym.toLocalDate(1).dayOfMonth().withMaximumValue();