Sometimes called DST, summer
time or war time. The British call it BST,
British Summer Time.
The French call it heure
d'été. The Germans call it Sommerzeit.
The Dutch call it Zomertijd.
It is a scheme to get people to wake up earlier and go to bed earlier to save
electricity. You set clocks ahead a hour (or more) in spring and set them back
in the fall. Commonly, you set the clock an hour forward at 2:00 A.M. on the second
Sunday in March), and set it back one hour at 2:00 A.M. on the first
Sunday in November. You can remember with the mnemonic spring forward,
fall back,
In British Columbia, Canada, where I live, local time is UTC minus 8 hours for
PST (Pacific Standard
Time) and UTC minus 7 hours for PDT (Pacific
Daylight Time).
Newfoundland, in, Canada is odd in that it in not an even hour difference from
GMT/UTC. Newfoundland Standard Time is UTC minus 3.5 hours. It also odd in that
they do the DST flip at 00:01 AM rather that 02:00 like the rest of Canada.
DST causes all kinds of headaches for computer programmers:
- In the spring, there is a missing hour. If you are not careful your payroll
program will pay people for an hour they did not work.
- In the fall, the are two different times, both 1:30 AM. The first is 1:30 AM
daylight time and the second, a hour later, 1:30 AM standard time. Any time
keeping must maintain the distinction. The distinction only matters during one
hour each year.
- The dates that daylight saving starts and end change year by year, and city by
city. Your only hope is to convert all times to GMT, then do your elapsed time
calculations, and use locale tables to convert them back for display to local
time. The Java Timezone class contains the locale-specific
information to do these calculations.
- Microsoft did not correct W95/W98/Me/NT/W2K
to account for the extended daylight saving introduced in 2007
in the USA. You can manually fix the problem by downloading TZEdit.exe
then use it to configure the start and end dates on the relevant time zones to
start three weeks earlier (2:00 A.M. on the second Sunday in March), and
end one week later (2:00 A.M. on the first Sunday in November). Canada
follows the USA.
| Daylight Savings Change Dates in the USA and Canada |
| year |
DST starts |
DST ends |
| 2008 |
March 9 |
November 2 |
| 2009 |
March 8 |
November 1 |
| 2010 |
March 14 |
November 7 |
| 2011 |
March 13 |
November 6 |
| 2012 |
March 11 |
November 4 |
| 2013 |
March 10 |
November 3 |
| 2014 |
March 9 |
November 2 |
| 2015 |
March 8 |
November 1 |
| 2016 |
March 13 |
November 6 |
| 2017 |
March 12 |
November 5 |
| 2018 |
March 11 |
November 4 |
| 2019 |
March 10 |
November 3 |
| 2020 |
March 8 |
November 1 |
Other countries use different dates or don’t use DST at all. They may us
the same timezone, but have differerent DST rules. That why you don’t
configure your timezone directly in the OS, but rather chose a city with
representative DST rules.
On daylight saving switch days,
don’t set your computer clock
forward an hour! Instead, make sure your machine is configured to the correct
time zone, and reset your clock from an atomic time source. It will
automatically jump at 2 AM. If you fiddle the clock, you will screw up the file
timestamps which are kept in timezone-independent, DST-independent, GMT aka UTC.
To make sure your timezone is configured correctly, and to set your clock from
an atomic timesource, use the
SetClock
utility.
Windows Vista is supposed to automatically keep your clock in sync with a
Microsoft time server, but for me it does not work. I suspect the problem is it
is overloaded.
Linux automatically probes time servers with NTP to keeps its clock in sync.
Someday, computers will have built-in GPS units and they will be able to
configure the local time zone automatically. But for now, you must do that
manually in the control panel.
Gotchas
- On your first reboot after a daylight saving change, Vista may set your clock
ahead two hours instead of one. You can fix the problem with SetClock
which will also let you verify your time zone.
- In modern operating systems including NT/W2K/XP/W2K3/Vista, if you
manually change the time after a daylight saving change, instead of configuring
the timezone and letting it happen automatically, you you might confuse the OS,
with the result that file dates on all your files change by one hour.
- If you let Vista or Linux change the time by itself, your file dates should not
appear to change at a DST boundary. This is because the timestamps are kept
internally in UTC and files that were last updated in winter are always
displayed in winter time (even in summmer), and files last updated in summer are
always displayed in summer time, even in winter.
- WinZip timestamps are not kept is UTC, but in local
time. This means that DST changes will trigger WinZip archived files to be
updated, since their local timestamps change, even when the absolute UTC
timestamp does not.