2013-05-09 83 views
64

我有日期Wed May 08 00:00:00 GMT+06:30 2013。我通過使用Joda-TimeDateTime這樣來添加一天。Joda-Time添加一天DateTime

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

當我打印日期時間,我得到這個日期2013-05-08T00:00:00.000+06:30。喬達約會時間沒有增加一天。我沒有發現任何錯誤。

由於

+8

我不知道joda,但我假設'plusDays()'返回一個新的DateTime對象。試試'datetime = dateTime.plusDays(1)'。從[docs]確認(http://joda-time.sourceforge.net/apidocs/org/joda/time/DateTime.html#plusDays%28int%29)。 – Phylogenesis 2013-05-09 12:07:16

+0

@Phylogenesis你可能想要發佈作爲答案,因爲它是正確的。 – Barend 2013-05-09 12:08:59

+1

@Barend它現在已被張貼爲答案。沒有必要混淆這個問題。 – Phylogenesis 2013-05-09 12:10:44

回答

135

plusDays方法不是突變子。它會返回給定DateTime對象的副本,而不會更改給定的對象。

如果你想真正改變變量dateTime值,你將需要:

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

如果你想加入天爲當前日期時間實例,使用MutableDateTime

MutableDateTime dateTime = new MutableDateTime(date); 
dateTime.addDays(1);