Ha la funzione di date.before java tiene conto del fuso orario?
-
25-10-2019 - |
Domanda
Ho il set fuso orario sul server per BST (British ora legale), e la data di essere passato alla funzione è stata calcolata in UTC.
Sul sito Java di Oracle, si riferisce semplicemente confrontando il tempo come "ora", ma questo "ora" ora essere lo stesso fuso orario come insieme o sarà quella impostata sul server è in esecuzione su / p>
Soluzione
Non c'è fuso orario nel java.util.Date
, è efficace il fuso orario della JVM è in esecuzione in.
Il mio consiglio, se avete bisogno di lavorare con i fusi orari, l'uso Joda
Altri suggerimenti
E 'implicito che java.util.Date
memorizza sempre tempo in UTC. Per esempio se si chiama System.currentTimeMillis()
o creare new Date()
, tempo interno sarà in UTC. ma Date.toString()
darà il tempo diverso per i diversi fusi orari predefiniti.
Quindi, se si passa data UTC in funzione before
, si otterrà il risultato corretto indipendentemente dal fuso orario del server.