Does the java date.before function take into account the timezone?
-
25-10-2019 - |
سؤال
I have the timezone set on the server to BST (British Daylight Savings Time), and the date being passed into the function was calculated in UTC.
On the Java Oracle site, it simply refers to comparing the time as "now", but will this "now" time be the same timezone as set or will it be the one set on the server it is running on?
المحلول
There is no timezone in the java.util.Date
, it's effectively the timezone of the JVM it's running in.
My advice, if you need to work with timezones, use Joda
نصائح أخرى
It's implied that java.util.Date
always stores time in UTC. For instance if you call System.currentTimeMillis()
or create new Date()
, internal time will be in UTC. but Date.toString()
will give different time for different default timezones.
So if you pass UTC date into before
function, you will get correct result regardless of server time zone.