149 views

Hourly schedules execute one-hour offset when Daylight Savings Time (DST) changes



Problem


Schedule jobs that repeat hourly shift one hour when Daylight Savings Time (DST) changes.

Symptoms


After DST, regular scheduled jobs are running a one-hour offset from their regular scheduled time. For example, a regular schedule that repeats every 24 hours and was running at 2015-10-30 20:00:00 runs at 2015-11-01 19:00:00 after DST.

Cause


This issue is related to date calculations. If one day of duration is added to 2015-10-31 02:00 PDT (09:00 UTC), it becomes 2015-11-01 02:00:00 PDT (10:00 UTC) and the expectation is to get the same time next day. However, hours, minutes or seconds that are added are absolute hours, minutes, or seconds. This addition should not consider the offset time but rather the absolute times in UTC.

For example, adding 24 hours to 2015-10-31 02:00 PDT (09:00 UTC) results in 2015-11-01 01:00:00 (09:00 UTC) when you lose one hour on DST. Internally, the UTC value will have 24 hours difference.

Resolution


Note that regular hourly schedules will add the times on UTC time, ignoring the DST changes as intended. They will show an offset by one hour when DST changes but will execute correctly in the interval time specified in hours.

 

Article Information

Last Updated:2018-01-02 07:00:11
Published:2018-01-02