2013-05-09 20 views
64

Ho la data Wed May 08 00:00:00 GMT+06:30 2013. Ne aggiungo un giorno utilizzando Joda-TimeDateTime in questo modo.Aggiungere un giorno a Joda-Time DateTime

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

Quando stampo dateTime, ho avuto questa data 2013-05-08T00:00:00.000+06:30. L'ora della data di joda non è stata aggiunta un giorno. Non ho trovato alcun errore.

Grazie

+8

non lo faccio conosci joda, ma suppongo che 'plusDays()' restituisca un nuovo oggetto 'DateTime'. Prova 'datetime = dateTime.plusDays (1)'. Confermato dal [docs] (http://joda-time.sourceforge.net/apidocs/org/joda/time/DateTime.html#plusDays%28int%29). – Phylogenesis

+0

@Phylogenesis che potresti voler postare come risposta, perché è corretto. – Barend

+1

@Barend è stato pubblicato come risposta ora. Non c'è bisogno di ingombrare la domanda. – Phylogenesis

risposta

135

Procedimento plusDays non è mutatore. Restituisce una copia dell'oggetto DateTime specificato con la modifica apportata anziché modificare l'oggetto specificato.

Se si desidera modificare in realtà il valore della variabile dateTime, avrete bisogno di:

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

Se si desidera aggiungere giorni di tempo per istanza corrente di data e ora, utilizzare MutableDateTime

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