tengo la siguiente línea en mi aplicación Grails para establecer la zona horaria por defecto a UTC:Grails guarda datetime como hora UTC, pero la lee como hora del servidor local?
TimeZone.setDefault(TimeZone.getTimeZone("UTC"))
Tengo una entidad Audit
con un campo dateCreated
:
class Audit {
Date dateCreated
String message
}
Entonces crear y guardar una instancia de ello:
def audit = new Audit(message: "Testing audit message")
Esto lo guardará en mi base de datos correctamente como hora UTC. Sin embargo, cuando intento leerlo de nuevo:
audit = Audit.get(1)
La marca de tiempo se lee nuevamente como hora local. Entonces, si mi zona horaria es +1 UTC y la hora local actual es 12:34:56 BST, lo que se guardará en la base de datos es 11:34:56, pero cuando la leí de nuevo, se convierte en 11 : 34: 56 BST. ¿Alguien sabe cómo solucionar este problema para que Grails vuelva a leer la marca de tiempo como UTC y la convierta en consecuencia?
Esto se debe establecer de manera predeterminada TZ OR -Duser.timezone –