Notifications

1090 views

Issue

Time Zone Daylight Saving Changes and Java version | Adjusting for daylight saving time



Java Version and Time Zone data


Time zone data is included in the Java runtime used with your instance. Depending on the version of the Java runtime, you may experience unexpected behavior based on changes in the time zone data release. 

Changes to Time zones are managed by IANA, and changes normally occur because a government decides to change the application of daylight savings in their country.  If these changes are made with short notice it is possible for the most recent Java release to not incorporate the last version of the IANA timezone database.

To see the default time zone tzdata in each Java runtime, see Timezone Data Versions in the JRE Software.

 

Example: America/Santiago Time Zone


The version of Java used by your instance may not include recent time zone changes. For example, if the system time zone is set to America/Santiago, the time zone tzdata release used with Java 1.6 causes the time zone to display as UTC/GMT-3 instead of UTC/GMT-4 during daylight saving time (DST). 

This discrepancy in time zone is due to Chilean seasonal clock changes. In early 2015, Chile had planned to switch from seasonal DST to permanent DST. As a result, updated time zone rules were included in JRE releases 6u95, 7u80, 8u45 to account for this change. However, in March 2016, Chile reverted back from permanent DST to seasonal DST. As a result, instances using the affected JRE releases and with America/Santiago defined as the system time zone were off by one hour during daylight saving time. 

 

Fix


The JRE release tzdata2016c found in Java 1.8 solves this issue and accounts for seasonal DST in Chile. If you experience an issue similar to the above, contact ServiceNow Customer Support support to request the update. 

 

Workaround


Alternatively, you can set the system time zone to use the time zone format (GMT) instead of the Country/City format. 

Note: The method in this workaround manually sets your instance to the correct time zone and will not adjust for daylight saving time. During daylight savings time, you will need to manually reset your system time zone to the correct time. 

  1. Navigate to System Properties > System.
  2. Locate the property System timezone for all users unless overridden in the user's record [glide.sys.default.tz].
  3. Set the property to the desired time zone using the time zone format. For example, Etc/GMT+4

Note: The Etc/GMT timezones reverse the meaning of the +/- in the time zone value, with the + sign indicating a timezone that is west of 0 degrees longitude, for example Etc/GMT+4 is the equivalent of UTC-4.

While the above workaround is specific to the issue with the Chilean time zone changes, this approach can be used to workaround any future similar issue.

 

References



https://en.wikipedia.org/wiki/List_of_tz_database_time_zones

http://www.oracle.com/technetwork/java/javase/tzdata-versions-138805.html

http://www.timeanddate.com/news/time/chile-abolishes-dst-2015.html

https://www.iana.org/time-zones

Article Information

Last Updated:2019-08-02 21:23:17
Published:2019-07-02