2

我正在尝试在日期上添加 1 个月,但问题是当我的日期为 2 月 28 日时,我又添加了一个月,结果为 3 月 28 日。它应该在 3 月 31 日结束。与我从 4 月的日期开始时相同30,我应该在 5 月 31 日而不是 5 月 30 日结束。我尝试使用 Jodatime 的 plusMonths() 和 java.util.date 的 add() 但仍然存在同样的问题。

4

1 回答 1

8

你的期望是完全错误的:它应该在下个月的同一天移动,如果存在的话。无论如何,代码怎么知道您希望 Feb 28 表示“二月的最后一天”?它的合法意思是“二月 28 日”。假设您从 1 月 28 日开始,然后增加了一个月,然后又增加了一个月,您希望得到什么结果?

您可以通过在下个月的 1 日工作,然后再往回移动一天来实现您所需要的。

于 2013-05-30T10:48:38.210 回答