style="display:inline-block;width:728px;height:90px"
data-ad-client="ca-pub-5164839828746352"
data-ad-slot="7563230308">

Una duda sobre mi codigo

El codigo consise en al siguiente operacion en la primera parte de mi codigo se mandan bien los parametros, pero cuando pasa a la suiente parte
me devuelve la fecha con un dia anterio y quiero que me presente la fecha de hoy. y no la de un dia antes.

llog.info("reverso: " + lIdTerminal + " " + forma.getCantidad() + " " +
forma.getXMLfechaHora().toGregorianCalendar().getTime() + " " +
forma.getTrack2() + " " + Long.parseLong(forma.getReferencia()) + " " +
//forma.getAutorizacion() + " " + // Codigo de PRODUCCION
aut + " " + //Codigo de PRUEBAS
forma.getFolio() + " " + forma.getXMLfechaServidor().toGregorianCalendar().getTime() + " " +
forma.getPosEntryMode());

log.info("Realizando reverso...");// cuando pasa por aqui es don de truena es donde no devuelve la fecha
Respuesta res = service.reverso1(lIdTerminal,
forma.getCantidad(),
forma.getXMLfechaHora(),
forma.getTrack2(),
Long.parseLong(forma.getReferencia()),
//forma.getAutorizacion(), //Codigo de PRODUCCION
aut, //Codigo de PRUEBAS
Long.parseLong(forma.getFolio()),
forma.getXMLfechaServidor(),
forma.getPosEntryMode());

log.info("res autorizacion: " + res.getAutorizacion());
log.info("res monto: " + res.getMonto());
log.info("res folio: " + res.getFolio());
log.info("res referencia: " + res.getReferencia());
log.info("res fecha: " + res.getFechaHora().toGregorianCalendar().getTime());

fwd = mapping.findForward("Exito");

Opciones de visualización de comentarios

Seleccione la forma que prefiera para mostrar los comentarios y haga clic en «Guardar las opciones» para activar los cambios.
Imagen de ezamudio

timezone

Tienes un problema con las zonas horarias. Seguramente no siempre te pasa, sino que te ocurre en las tardes... México está en GMT-6 (en horario de verano GMT-5) así que a partir de las 6PM si haces una prueba de una fecha que está en GMT y la pasas a GMT-6, si ves el puro día lo verás con la fecha de hoy en vez de mañana.

O si haces pruebas entre medianoche y 6AM, también tendrás la diferencia de día.

El problema seguramente está en tu getXMLfechaHora().toGregorianCalendar().getTime() porque el GregorianCalendar intermedio ya trae la zona horaria local (GMT-6) pero el getXMLfechaHora te da un XMLGregorianCalendar en GMT.

Si la fecha que estás parseando de XML está en la zona local, necesitas crearla de esa forma cuando se parsea; si no viene la info de zona horaria en la cadena, necesitas indicarle al parser que use la zona local y no GMT.

Imagen de osalgado999

gracias

Ok.

Gracias por tus comentarios checa lo que me dices y listo

De gracias ezamudio.

Feliz año.

style="display:inline-block;width:728px;height:90px"
data-ad-client="ca-pub-5164839828746352"
data-ad-slot="7563230308">