2013-05-09 18 views
64

Ich habe Datum Wed May 08 00:00:00 GMT+06:30 2013. Ich füge einen Tag hinzu, indem ich Joda-TimeDateTime so verwende.Add einen Tag in Joda-Time DateTime

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

Als ich Datums- und Uhrzeit drucken, habe ich dieses Datum 2013-05-08T00:00:00.000+06:30. Die joda Datum Zeit hat keinen Tag hinzugefügt. Ich habe keinen Fehler gefunden.

Dank

+8

ich nicht MutableDateTime verwenden möchten hinzufügen kenne joda, aber ich nehme an, dass "plusDays()" ein neues "DateTime" -Objekt zurückgibt. Versuchen Sie 'datetime = dateTime.plusDays (1)'. Bestätigt von [docs] (http://joda-time.sourceforge.net/apidocs/org/joda/time/DateTime.html#plusDays%28int%29). – Phylogenesis

+0

@Phylogenesis könnten Sie das als Antwort posten, weil es korrekt ist. – Barend

+1

@Barend wurde es jetzt als Antwort gepostet. Keine Notwendigkeit, die Frage zu verwirren. – Phylogenesis

Antwort

135

Die plusDays Methode ist kein Mutator. Sie gibt eine Kopie des angegebenen DateTime Objekts mit der vorgenommenen Änderung zurück, anstatt das angegebene Objekt zu ändern.

Wenn Sie wirklich wollen, um die Variable dateTime Wert zu ändern, benötigen Sie:

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

Wenn Sie Tage Zeit Beispiel das aktuelle Datum,

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