一个月的最后一天计算

2022-01-11 00:00:00 datetime calendar java

我在计算预定发送通知的下一个月最后一天的时间时遇到问题.

I am having issues with the calculation of when the next Last Day of the Month is for a notification which is scheduled to be sent.

这是我的代码:

RecurrenceFrequency recurrenceFrequency = notification.getRecurrenceFrequency();
Calendar nextNotifTime = Calendar.getInstance();

我认为这是导致问题的原因:

This is the line causing issues I believe:

nextNotifTime.add(recurrenceFrequency.getRecurrencePeriod(), 
                  recurrenceFrequency.getRecurrenceOffset());

如何使用日历正确设置通知的下个月的最后一天?

How can I use the Calendar to properly set the last day of the next month for the notification?

推荐答案

Calendar.getInstance().getActualMaximum(Calendar.DAY_OF_MONTH);

这将返回当前月份的实际最大值.例如现在是闰年的二月,所以它返回 29 作为 int.

This returns actual maximum for current month. For example it is February of leap year now, so it returns 29 as int.

相关文章