2013-05-09 11 views
64

Mam datę Wed May 08 00:00:00 GMT+06:30 2013. Dodaję do tego jeden dzień, używając: Joda-TimeDateTime.Dodaj jeden dzień do Joda-Time DateTime

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

Kiedy drukować DateTime Mam tę datę 2013-05-08T00:00:00.000+06:30. Data w jodzie nie dodawała jednego dnia. Nie znalazłem żadnego błędu.

Dzięki

+8

nie wiem znam joda, ale zakładam, że 'plusDays()' zwraca nowy obiekt 'DateTime'. Spróbuj 'datetime = dateTime.plusDays (1)'. Potwierdzone z [docs] (http://joda-time.sourceforge.net/apidocs/org/joda/time/DateTime.html#plusDays%28int%29). – Phylogenesis

+0

@Phylogenesis, możesz chcieć opublikować to jako odpowiedź, ponieważ jest poprawna. – Barend

+1

@Barend został wysłany jako odpowiedź teraz. Nie trzeba zaśmiecać pytania. – Phylogenesis

Odpowiedz

135

Sposób plusDays nie jest mutator. Zwraca kopię danego obiektu DateTime ze zmianą wprowadzoną zamiast zmiany podanego obiektu.

Jeśli chcesz faktycznie zmienić wartość zmiennej dateTime, musisz:

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

Jeśli chcesz dodać dni do daty bieżącej instancji, użyj MutableDateTime

MutableDateTime dateTime = new MutableDateTime(date); 
dateTime.addDays(1); 
Powiązane problemy