将一天添加到Joda-Time DateTime中


83

我有约会Wed May 08 00:00:00 GMT+06:30 2013。我使用这样的Joda-Time DateTime向其中添加一天。

DateTime dateTime = new DateTime(date);
dateTime.plusDays(1);

当我打印dateTime时,我得到了这个date 2013-05-08T00:00:00.000+06:30。乔达约会时间没有增加一天。我没有发现任何错误。

谢谢


8
我不知道joda,但我假设会plusDays()返回一个新DateTime对象。尝试datetime = dateTime.plusDays(1)。从文档确认。
系统发育

@Phylogenesis,您可能希望将其发布为答案,因为它是正确的。
巴伦德

1
@Barend现在已发布为答案。无需弄乱这个问题。
系统发育

1
注释线程发生时,我显然正在发布答案。如果我看到了这种情况,我会同意系统发育应该作为答案。
唐·罗比

Answers:


172

plusDays方法不是可变器。它返回DateTime已更改的给定对象的副本,而不是更改给定对象。

如果要实际更改变dateTime量值,则需要:

DateTime dateTime = new DateTime(date);
dateTime = dateTime.plusDays(1);

33

如果要将天数添加到当前日期时间实例,请使用MutableDateTime

MutableDateTime dateTime = new MutableDateTime(date);  
dateTime.addDays(1);
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.