¿La fecha de Java. La función antes de tener en cuenta la zona horaria?
-
25-10-2019 - |
Pregunta
Tengo la zona horaria establecida en el servidor a BST (tiempo de ahorro de verano británico), y la fecha en que se transmite a la función se calculó en UTC.
En el sitio de Java Oracle, simplemente se refiere a comparar el tiempo como "ahora", pero ¿este tiempo "ahora" será la misma zona horaria que se establece o será el que se establece en el servidor en el que se ejecuta?
Solución
No hay zona horaria en el java.util.Date
, es efectivamente la zona horaria del JVM en la que se está ejecutando.
Mi consejo, si necesitas trabajar con zonas horarias, usa Joda
Otros consejos
Está implícito que java.util.Date
Siempre almacena el tiempo en UTC. Por ejemplo si llamas System.currentTimeMillis()
o crear new Date()
, el tiempo interno estará en UTC. pero Date.toString()
dará un tiempo diferente para diferentes zonas horarias predeterminadas.
Entonces, si pasa la fecha de UTC en before
función, obtendrá el resultado correcto independientemente de la zona horaria del servidor.