Agregue un día a Joda-Time DateTime

83

Tengo fecha Wed May 08 00:00:00 GMT+06:30 2013. Le agrego un día usando Joda-Time DateTime como este.

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

Cuando imprimo dateTime, obtuve esta fecha 2013-05-08T00:00:00.000+06:30. La fecha de joda no agregó un día. No he encontrado ningún error.

Gracias

usuario1156041
fuente
8
No sé joda, pero supongo que plusDays()devuelve un nuevo DateTimeobjeto. Prueba datetime = dateTime.plusDays(1). Confirmado de los documentos .
Phylogenesis
@ Philogenesis, es posible que desee publicar eso como respuesta, porque es correcto.
Barend
1
@Barend se ha publicado como respuesta ahora. No hay necesidad de complicar la pregunta.
Phylogenesis
1
Aparentemente, estaba en el proceso de publicar la respuesta cuando ocurrió el hilo de comentarios. Si lo hubiera visto suceder, habría aceptado que Phylogenesis debería publicar como respuesta.
Don Roby

Respuestas:

172

El plusDaysmétodo no es un mutador. Devuelve una copia del DateTimeobjeto dado con el cambio realizado en lugar de cambiar el objeto dado.

Si realmente desea cambiar el dateTimevalor de la variable , necesitará:

DateTime dateTime = new DateTime(date);
dateTime = dateTime.plusDays(1);
Don Roby
fuente
33

Si desea agregar días a la instancia de fecha y hora actual, use MutableDateTime

MutableDateTime dateTime = new MutableDateTime(date);  
dateTime.addDays(1);
Ilya
fuente