Fügen Sie einen Tag zu Joda-Time DateTime hinzu


83

Ich habe ein Date Wed May 08 00:00:00 GMT+06:30 2013. Ich füge einen Tag hinzu, indem ich Joda-Time DateTime wie folgt verwende .

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

Wenn ich dateTime drucke, habe ich dieses Datum erhalten 2013-05-08T00:00:00.000+06:30 . Die Joda-Datumszeit fügte keinen Tag hinzu. Ich habe keinen Fehler gefunden.

Vielen Dank


8
Ich kenne joda nicht, aber ich gehe davon aus, dass plusDays()ein neues DateTimeObjekt zurückgegeben wird. Versuchen Sie es datetime = dateTime.plusDays(1). Bestätigt aus den Dokumenten .
Phylogenesis

@Phylogenesis Vielleicht möchten Sie das als Antwort posten, weil es richtig ist.
Barend

1
@Barend Es wurde jetzt als Antwort gepostet. Keine Notwendigkeit, die Frage zu überladen.
Phylogenesis

1
Ich war anscheinend gerade dabei, die Antwort zu veröffentlichen, als der Kommentarthread passierte. Hätte ich es gesehen, hätte ich zugestimmt, dass Phylogenesis als Antwort posten sollte.
Don Roby

Antworten:


171

Die plusDaysMethode ist kein Mutator. Es wird eine Kopie des angegebenen zurückgegebenDateTime Objekts mit der vorgenommenen Änderung zurückgegeben, anstatt Objekt zu ändern.

Wenn Sie den Variablenwert tatsächlich ändern möchten, dateTimebenötigen Sie:

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

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.