2012-04-26 12 views
10

Nie jestem pewien, czy jest to pytanie SO, ale nadal chciałbym znać odpowiedź.Ile jest stref czasowych?

Wikipedia mówi, że istnieje około 40 stref czasowych, ale kiedy przywołuję metodę TimeZoneInfo.GetSystemTimeZones() w C#, zwraca listę 101 elementów.

Czy artykuł wiki jest przestarzały (chociaż "został ostatnio zmodyfikowany 26 kwietnia 2012 r. O 05:11") lub czy są jakieś dodatkowe strefy czasowe?

+0

... Nie zapomnij oszczędzając światła dziennego! –

+5

Ostatnia modyfikacja o 05:11 - ale która strefa czasowa? –

+0

+1 @DavidM lol;) –

Odpowiedz

13

Nie ma jednej odpowiedzi - zależy to od bazy danych strefy czasowej, która Cię interesuje. Użycie TimeZoneInfo.GetSystemTimeZones będzie korzystać ze stref czasowych Windows ... jeśli użyjesz tzdb, prawdopodobnie zobaczysz o wiele więcej.

(Aktualna wersja zwraca Noda Time 575 identyfikatorów strefie czasowej, na przykład, mimo że zawiera Etc/GMT + 9, Etc/GMT + 10 itd.)

+0

Czy wiesz, skąd się to wszystko bierze? Wiem, że tutaj, w Brazylii, nie wszystkie kraje mają dzienne oszczędności, co sprawia, że ​​niektóre kraje, przez 3 miesiące w roku, 1 godzinę różnią się od reszty. Oznacza to, że Brazylia ma dwie Strefy Czasowe, czy mam rację? Mimo to 575 brzmi jak dużo. – Andre

+0

@Andre: Nie, Brazylia ma jedną strefę czasową, która zmienia jej offset z UTC w ciągu roku. (Właściwie może istnieć więcej niż jedna strefa czasowa, jeśli istnieją regionalne odmiany, ale to inna sprawa.) Nie jestem pewien, czy masz na myśli "skąd to wszystko pochodzi", ale jeśli podążasz za linkiem tzdb w mojej odpowiedzi, że zaprowadzi cię do strony IANA, która aktualnie hostuje wszystkie dane ... –

+0

Hummm, dzięki! Przez "skąd to wszystko pochodzi", miałem na myśli: jest 207 członków ONU. Ok, niektóre nieuznane kraje, niektóre kraje z więcej niż jedną strefą czasową. Ale 575 to ponad dwukrotnie więcej krajów. Dlaczego tak dużo? – Andre

Powiązane problemy