New Daylight Saving Time. Are you, your system, and your app ready?

A quick announcement for everyone -- regardless whether you are an end-user or programmers.  You are probably going to be affected either way with the new Daylight Saving Time which is fast coming up on March 11 2007.

Microsoft has a neat little questionnaires which you can just simply click-click-click to see if you and your system ready?  Please check out the Daylight Saving Time Support page today.  It's very quick and simple (took me 2 mins on both my Vista and XPSP2 machines).  If you are already running any version of Vista, then you are good to go.  However, you'll need to download a patch for any version of XP or lower.  That's pretty simple stuff.

However, if you are application developer using .NET, you might need to update the system that is running your apps.  And there's a pretty remote chance that your application might be impacted.  I'm quoting the official announcement from Visual Studio:

Developers who use the .NET Framework may find their applications affected if the application uses the time zone information for historical purposes or if they have derived custom classes from System.TimeZone to provide custom time zone information. The standard System.TimeZone class provides a managed wrapper for the underlying Windows Operating System time zone functions.

In addition, developers who use Visual C++ may find their applications affected if they use the CRT time functions, or the TZ environment variable. Microsoft is currently working on a fix for this issue and will post information about its availability on the Visual Studio Support page.

Most applications that use these affected classes will not need to be modified as this update will ensure that the correct data is provided seamlessly to the application. However, applications that use these classes or the underlying Windows API to perform historical time look-ups will need to be modified. For more information, see the FAQ that follows.

In most cases, developers who have extended the .NET Framework’s time zone support by creating custom time zone classes derived from System.TimeZone, or by direct access to the Win32 API, will not have to update their applications as long as the available updates to the operating system are applied. However, solutions that rely on private time zone data, or that retrieve system time zone information by accessing the registry directly, may need to be updated. Applications that deal with historical time zone data may also need to be updated.

However, I still do recommend all developers to test their applications against this update to ensure that their applications function correctly.  Better safe than sorry.