Skip to content
This repository has been archived by the owner on Dec 6, 2019. It is now read-only.

Timezone xsd #56

Open
TOuhrouche opened this issue Aug 29, 2017 · 2 comments
Open

Timezone xsd #56

TOuhrouche opened this issue Aug 29, 2017 · 2 comments

Comments

@TOuhrouche
Copy link

Hi,
Is this XSD file still up to date? The timezone values in the file do not match those of my machine's registry

@SidneyAllen
Copy link

Hi @TOuhrouche - we had these TimeZone schema out for years and only made a few additions to it recently. Honestly never heard there is anything wrong with them. If the community felt there was a better source of truth around TimeZone's we be happy to accept a pull request - but I'm not sure if an individual's machine would be that. Not sure if different OS's implement TimeZone information differently.

@mattjohnsonpint
Copy link

Governments make changes to their time zones often, and Windows responds accordingly. You can see a long list of changes on the Microsoft DST & time zone blog. In general, one shouldn't hardcode a list of time zones in an application, because they will need to be updated regularly.

The bigger problem I see here is that the enumeration values are mutated from their original strings. Instead of the Windows ID "Morocco Standard Time", it has "MOROCCOSTANDARDTIME" which is no longer a valid ID. Thus it's not easily usable in an automated way by other APIs that work with Windows time zones.

Lastly, I noted that there's a comment at the top of the xsd about using IANA time zones, and converting using data from CLDR. That would be a great idea, and I've done most of the work for you in my TimeZoneConverter library. It should be relatively easy to integrate this into your system. If you can point me in the right place, I'd be happy to send a pull request.

FYI - I came here via this StackOverflow Question. The caller is in a Ruby on Rails application. They can't natively work with Windows time zones there. If your API returned standard IANA time zone IDs (regardless of what you do internally), then any caller could make use of them regardless of platform.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants