Mam randkę Wed May 08 00:00:00 GMT+06:30 2013
. Dodaję do tego jeden dzień, używając Joda-Time DateTime w ten sposób.
DateTime dateTime = new DateTime(date);
dateTime.plusDays(1);
Kiedy drukuję dateTime, mam tę datę 2013-05-08T00:00:00.000+06:30
. Data joda nie dodała jednego dnia. Nie znalazłem żadnego błędu.
Dzięki
plusDays()
zwraca nowyDateTime
obiekt. Spróbujdatetime = dateTime.plusDays(1)
. Potwierdzone z dokumentów .Odpowiedzi:
Ta
plusDays
metoda nie jest mutatorem. Zwraca kopię danegoDateTime
obiektu z dokonaną zmianą zamiast zmiany danego obiektu.Jeśli chcesz faktycznie zmienić
dateTime
wartość zmiennej , potrzebujesz:DateTime dateTime = new DateTime(date); dateTime = dateTime.plusDays(1);
źródło
Jeśli chcesz dodać dni do bieżącego wystąpienia daty i godziny, użyj MutableDateTime
MutableDateTime dateTime = new MutableDateTime(date); dateTime.addDays(1);
źródło