I suggest you ...

Adopt IANA Standard Time Zones

The .Net BCL TimeZoneInfo class is a wrapper on top of Windows timezone data. Now that ICANN/IANA is formally managing the zoneinfo database (since Oct 14, 2011), Microsoft should favor this standard instead of its proprietary time zone implementation. See http://www.iana.org/time-zones and http://en.wikipedia.org/wiki/Tz_database for further details.

This would allow .Net much greater interopability with other Internet platforms.

Since Windows timezones have been around for quite some time, Microsoft should provide this as an option, perhaps in a different set of classes, with some translation to and from the existing TimeZoneInfo class for backwards compatibility.

(also - it would be ideal if Windows 8 used standard timezones in the OS natively)

35 votes
Vote
Sign in
Check!
(thinking…)
Reset
or sign in with
  • facebook
  • google
    Password icon
    I agree to the terms of service
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    Matt JohnsonMatt Johnson shared this idea  ·   ·  Flag idea as inappropriate…  ·  Admin →

    3 comments

    Sign in
    Check!
    (thinking…)
    Reset
    or sign in with
    • facebook
    • google
      Password icon
      I agree to the terms of service
      Signed in as (Sign out)
      Submitting...
      • Matt JohnsonMatt Johnson commented  ·   ·  Flag as inappropriate

        @JohnWelch - Yes, Noda Time is the best third-party implementation for this in existence. But since Windows and .Net still use their own time zones, that introduces translation errors. CLDR data (also in NodaTime) can assist with conversions, but are still imperfect.

        Also - IE11 is supposed to be supported ECMA-402 (http://www.ecma-international.org/ecma-402/1.0/) which requests native support of IANA time zones. Trying any of these with the IE11 dev preview just gives a timezone of "undefined". :(

        Really Microsoft - I thought your teams were supposed to be cooperating better thanks to the re-org? If so, get EVERYONE on board with IANA time zones. That means .Net, Windows OS, Internet Explorer, Windows Phone, XBOX, etc. This is a cross-cutting concern with major influences. I cannot fathom why it has gone unaddressed for so long.

        This could even roll out to Windows XP via Windows Update. Just use the CLDR data to convert to the approximate IANA zone during the rollout. (I'm sure it's more involved than that, but it is certainly possible and has many benefits!)

      • Code ChiefCode Chief commented  ·   ·  Flag as inappropriate

        Yes and it is also necessary because all access to time zone information has been removed in Windows Store Modern UI / WinRT level framework (subset).

        http://social.msdn.microsoft.com/Forums/uk/winappswithcsharp/thread/b3021654-0a34-409c-8afa-54ebd7df8ff4

        We need Microsoft to re-implement the full TimeZoneInfo in all (portable, ModernUI/WiinRT and future) frameworks based on a snapshot of the IANA database and update it with Windows Update when changes occur. That way our programs never have to be updated but always use the current time zone data. The time zones don't change that often I presume so that would satisfy most people.

        If the internal time zone data is too big AND cover special requirements for historical and astronomical projections, the TimeZoneInfo should also have a public constructor (in the portable library) and JSON serialization compatible data annotations so that a RESTful web API request can provide any other information in the correct format.

      Feedback and Knowledge Base