Buscar
Social
Ofertas laborales ES

Foro sobre Java SE > Problema clase Date hora retrasada

Hola a todos,

Tengo el siguiente problema en una aplicación que estoy desarrollando en Java.

Necesito obtener la hora actual del sistema, para usarla posteriormente. Creo un objeto de la clase Date de la siguiente forma:


Date now = new Date();

El problema es que el resultado es la hora actual, pero con 2 horas de retraso.

¿Alguien sabe decirme por qué ocurre esto?

Gracias por adelantado

Saludos

septiembre 3, 2015 | Registered Commentermarodal

Las horas están condicionas por su timezome, es decir el servidor donde estas corriendo tu codigo estarán en una zona horaria dos horas más atras que la tuya.

Si miras tu configuración de hora de tu ordenador veras que tienes una zona horaria.

En mi caso:
(UTC+01:00) Bruselas, Copenhague, Madrid, París

En algunas zonas horarias también hay que tener en cuenta si es horarios de veranos o invierno ya que por ejemplo ahora mismo en España es verano y tenemos el horario adelantado una hora por lo tanto UTC+02:00 que puede sea este tu caso.

Si tu tienes esa hora el servidor donde corre tu código es muy probable que sea UTC+00:00 que suele ser lo normal para un servidor.
Lo que se suele hacer es que el servidor donde corre la máquina siempre esté en UTC (o GMT es lo mismo) +00:00 y sabiendo la zona horaria del cliente(usuario) al que tienes que mostrar la hora, puedes calcularla para mostrar la adecuada por que puedes calcular da diferencia en horas respecto de UTC.

Lo malo es que tienes que sabe la zona del usuario y tenerla guardad en BD o recuperarla del navegador.

Una pequeña introducción a la zonas horarias y entender el concepto, la parte final no es necesaria:

http://gmt-4.blogspot.com.es/2008/03/qu-es-la-zona-horaria.html

Más explicaciones y un poco de código

http://arsmentis.blogspot.com.es/2013/03/java-y-la-gestion-de-fecha-hora.html

septiembre 4, 2015 | Registered Commenterantuansoft