我想在日期上加1个月,但问题是当我有2月28日的日期然后我再添加一个月,我的结果是3月28日。它应该在3月31日结束。当我开始时4月30日,我应该在5月31日而不是5月30日结束。我尝试使用Jodatime的plusMonths()和java.util.date的add()但仍然是同样的问题。
答案 0 :(得分:7)
你的期望是完全错误的:它应该在下个月的同一天移动,如果存在的话。无论如何,代码怎么知道你想要2月28日意味着“二月的最后一天”?它合法地意味着“二月28日”。假设你从1月28日开始,然后又增加了一个月,然后又增加了一个,你期望得到什么结果?
您可以通过在下个月的第一天工作然后再搬回一天来实现您所需要的。