szukam zaimplementować funkcję z czymś podpisu tak:TimeZoneInfo i kraj kody
bool IsTimeZoneValid(string countryCode, DateTime localTime);
intencją jest, aby określić, czy dany kraj ma strefę czasową, w której czas lokalny będzie obowiązywać , biorąc pod uwagę, że znamy aktualny czas UTC. Powiedzmy, ze względu na argument, że "poprawna" oznacza, że po konwersji na UTC czas wynosi +/- 30 minut od tego, co uważamy za czas.
Na przykład, powiedzmy, że jest obecnie 03/08/2009 18:25:00 UTC, a następnie podana następująca metoda call dla Australii, powinna zwrócić true
, ponieważ jest to poprawny czas w strefie "Eastern Standard Time":
IsTimeZoneValid("AU", DateTime.Parse("04/08/2009 03:25:00"));
Jednak poniższe wezwanie do Francji powinno się nie udać, ponieważ nie jest to prawidłowy czas we francuskiej strefie czasowej.
IsTimeZoneValid("FR", DateTime.Parse("04/08/2009 03:25:00"));
To musi być dokładne i uwzględniają czasu letniego itp
.NET 3.5 zawiera nowy TimeZoneInfo
klasy, który może zrobić dużo konwersji dla mnie, czy wiem, co stref czasowych istnieją w określonym kraju, ale nie mogę znaleźć żadnego wbudowanego odnośnika do tego. Czy brakuje mi czegoś, czy też będę musiał ręcznie utworzyć tabelę mapowania kraju na strefę czasową?
Aby powtórzyć, moje pytanie brzmi: Biorąc pod uwagę kod kraju, w jaki sposób mogę uzyskać listę stref czasowych. Czy istnieje inny sposób podejścia do tego, co przeoczyłem?
+1 Chciałbym również bardzo lubię być w stanie uzyskać prawidłowe strefy czasowe dla danego kraju. –