The Mexican government has re-arranged the DST schedule of the northern part of their country to follow the DST schedule of the United States:
Mexico's Congress passed a law in December 2009, bringing the DST schedule observed by northern Mexico's border cities to be in line with the United States' DST schedule. The proposed daylight saving arrangement will affect the following areas:
Tijuana, Mexicali, Ciudad Juarez, Ojinaga, Ciudad Acuna, Piedras Negras, Anahuac, Nuevo Laredo, Reynosa, Matamoros.
The new DST schedule will see these areas move the clocks forward from 2am (02:00) to 3am (03:00) local time on the second Sunday of March, and then back from 2am (02:00) to 1am (01:00) local time on the first Sunday of November. [...]
These changes are available now in FreeBSD 8-STABLE, 7-STABLE, 6-STABLE and HEAD (and the upcoming 7.3 release). For people not following the stable track, please use the port misc/zoneinfo to update.
System administrators in Australia have had this issue for ages: While the Australia/Sydney timezone is known as EST:
The EST timezone is laying somewhere else:[~] edwin@k7>TZ=Australia/Sydney date Tue Nov 10 21:29:22 EST 2009
16 hours difference, that is the US East Coast. Thus, you can't use the timezone EST to specify Australian specific times and expect the rest of the world to get in sync with you. Even worse, there is software out there which is still broken on it.[~] edwin@k7>TZ=EST date Tue Nov 10 05:29:44 EST 2009
The issue has been brought up multiple times with the maintainers of the timezone data, but they only collect what is defined, they don't want to make the definitions themselves.
But there is hope! According to The Australian Government website, there are three timezones in Australia:
So real soon, hopefully, the timezone data maintainers will incorperate the changes and our systems will not be confused anymore when we configure our timezones as Australia/Sydney, then we will get AEST and nobody will be confused with us anymore!
For the next six months, we will have DST in large parts of Australia again. The blogosphere is full with people who don't like it (for the right or wrong, the good and dumb reasons) and are under the impression that their opinion on this issue is important. See also Parkinson's Law of Triviality and the example of the Colour of the Bikeshed.
I for one am happy with the extra hour of daylight.
My two children wake up when the sun starts to shine (which was at 05:30 this week, making me wake up two hours before my train leaves for work (my boss doesn't allow me to start earlier)), this will give me a less reasonable time I get woken up. And it gives me one extra hour of sunlight when I come home from work, I can't wait until we have dinner outside again!
Give me the DST time of days all of the year!
This year the Daylight Saving Times rules for Australia change: We have two weeks less of wintertime. And the DST change times have been synchronized over all the states. Only problem, how do you make sure your computers know about it?
First you have to find three times which are relevant: before the change, during the changed time, after the change. Since the DST change times have changed from the last weekend in March to the first weekend in April, the times chosen are the wednesdays around the changes: 26 March, 2 April and 9 April.
And on Linux:$ date -r `expr 1206529200` Wed Mar 26 22:00:00 EST 2008 $ date -r `expr 1206529200 + 86400 \* 7` Wed Apr 2 21:00:00 EST 2008 $ date -r `expr 1206529200 + 86400 \* 14` Wed Apr 9 21:00:00 EST 2008
The second wednesday should have been 22:00 with the new and improved DST rules.$ perl -e 'use POSIX;print "Date = ", POSIX::ctime(1206529200 + 86400 * 0);' Date = Wed Mar 26 22:00:00 2008 $ perl -e 'use POSIX;print "Date = ", POSIX::ctime(1206529200 + 86400 * 7);' Date = Wed Apr 2 21:00:00 2008 $ perl -e 'use POSIX;print "Date = ", POSIX::ctime(1206529200 + 86400 * 14);' Date = Wed Apr 9 21:00:00 2008
On FreeBSD it is pretty accurate in the CVS repository for HEAD, RELENG_7, RELENG_6 and RELENG_5. If you don't use the RELENG_x versions you can install the port misc/zoneinfo. After that you need to run tzsetup(1). If you have updated your system with freebsd-update(1) you still need to run tzsetup(1)! If you are running jails, they need to be updated too!
for i in /usr/jails/*; do if [ -f $i/etc/localtime ]; then echo $i cp /etc/localtime $i/etc/localtime fi done
If you run Linux, use your package management system: yum install tzdata or apt-get install time.
Or you can do it manually: (The X in 2008X should be resplaced by the value available from elsie.nci.nih.gov)
$ wget ftp://elsie.nci.nih.gov/pub/tzdata2008X.tar.gz $ mkdir zoneinfo $ cd zoneinfo/ $ tar zxf ../tzdata2008X.tar.gz $ zic -d zoneinfo africa antarctica asia australasia etcetera \ europe factory northamerica southamerica systemv $ /bin/cp -fR zoneinfo/* /usr/share/zoneinfo/ $ /bin/cp zoneinfo/Australia/Sydney /etc/localtime
Afterwards, do the checks again to see if changes were successful:
As expected!$ date -r `expr 1206529200` Wed Mar 26 22:00:00 EST 2008 $ date -r `expr 1206529200 + 86400 \* 7` Wed Apr 2 22:00:00 EST 2008 $ date -r `expr 1206529200 + 86400 \* 14` Wed Apr 9 21:00:00 EST 2008
You should note that all applications need to be restarted to start using the new tzdata files. This includes all FreeBSD jails.