Datos para distintos husos horarios

Al insertar datos con los atributos calendar, java.util.Date y timestamp en un ObjectGrid, debe asegurarse de que estos atributos de fecha y hora se creen basándose en el mismo huso horario, sobre todo cuando se realiza el despliegue en diversos servidores en varios husos horarios. La utilización de los mismos objetos de hecha y hora basados en huso horario puede garantizar que la aplicación tenga seguridad de huso horario y que se puedan consultar los datos mediante los predicados calendar, java.util.Date y timestamp.

Sin especificar explícitamente un huso horario al crear objetos de fecha y hora, Java utiliza el huso horario local y puede causar valores de fecha y hora incoherentes en clientes y servidores.

Considere un ejemplo en un despliegue distribuido en el cual client1 está en el huso horario [GMT-0] y client2 está en [GMT-6] y ambos quieren crear un objeto java.util.Date con el valor '1999-12-31 06:00:00'. Entonces client1 creará el objeto java.util.Date con el valor '1999-12-31 06:00:00 [GMT-0]' y client2 creará el objeto java.util.Date con el valor '1999-12-31 06:00:00 [GMT-6]'. Los dos objetos java.util.Date no son iguales porque el huso horario es diferente. Un problema similar se produce al precargar datos en particiones que residen en servidores en husos horarios diferentes si se utiliza el huso horario local para crear objetos de fecha y hora.

Para evitar el problema descrito, la aplicación puede elegir un huso horario como [GMT-0] como huso horario base para crear los objetos calendar, java.util.Date y timestamp.