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


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);

33

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

MutableDateTime dateTime = new MutableDateTime(date);  
dateTime.addDays(1);
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.