Lista identyfikatorów stref czasowych do użytku z FindTimeZoneById () w C #?
255
Czy ktoś może wskazać mi pełną listę stref czasowych, do których odnosi się oczekiwany identyfikator TimeZoneInfo.FindTimeZoneById()? Nigdzie nie mogę znaleźć listy i przejrzałem dokumentację .NET.
Jeśli zauważysz w odpowiedziach poniżej, że istnieje kilka myląco powielających się identyfikatorów stref czasowych, powinieneś przeczytać tutaj, aby dowiedzieć się więcej: stackoverflow.com/a/15448800/37055
Chris Marisic
7
WAŻNE - Te dane nie są statyczne. Nowe strefy czasowe są wprowadzane do systemu Windows, gdy rządy świata wprowadzają zmiany. To dlatego ostatecznie nie ma autorytatywnych stron wymieniających je w dokumentach. Nie polegaj na żadnej zakodowanej liście, ale zadzwoń do TimeZoneInfo.FindTimeZoneById()siebie lub użyj jej, TZUTIL.EXE /Laby je wyświetlić. Poniższe odpowiedzi stanowią jedynie migawkę danych w momencie ich zgłoszenia. NIE KOPIUJ TUTAJ DO HARDCODE DO SWOJEJ APLIKACJI!
Matt Johnson-Pint,
1
W razie potrzeby możesz odczytać z rejestru na stronie HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Time Zoneslub użyć EnumDynamicTimeZoneInformationinterfejsu API systemu Windows.
Matt Johnson-Pint,
Odpowiedzi:
359
Oto pełna lista programu i jego wyników .
Kod:
using System;
namespace TimeZoneIds{classProgram{staticvoidMain(string[] args){foreach(TimeZoneInfo z inTimeZoneInfo.GetSystemTimeZones())Console.WriteLine(z.Id);}}}
W TimeZoneId Wyniki na mojej stacji roboczej Windows 7:
Czy dane wyjściowe z tej listy są wrażliwe na to, czy obecnie korzystasz z czasu letniego, czy nie? W przeciwnym razie nazwy wydają się niedokładne. Wschodni czas standardowy to GMT - 5, ale GMT - 4 przez większość roku.
JohnOpincar,
4
Tak, metoda TimeZoneInfo.FindSystemTimeZoneById jest wrażliwa na czas letni ... Zobacz msdn.microsoft.com/en-US/library/… . Stwierdzono: „Ten obiekt TimeZoneInfo jest następnie używany do konwertowania czasu lokalnego na czas w Tokio i ustalenia, czy jest to czas standardowy Tokio, czy czas letni w Tokio”.
Sebastian
25
@JohnOpincar - masz rację. Nazwy ID są mylące. „Czas standardowy wschodni” reprezentuje zarówno EST, jak i EDT.
Matt Johnson-Pint,
6
@ Sebastian - żeby uniknąć zamieszania, myślę, że pierwsze zdanie powinno brzmieć: „Nie, wyniki programu NIE są wrażliwe na czas letni”. Niezależnie od pory roku, w której program jest uruchamiany, lista będzie taka sama, o co pytał JohnOpincar.
TTT
6
Uwaga: nazwy stref czasowych są wrażliwe na system operacyjny. Windows Server 2008 i Windows Server 2012 mają różne listy.
Ross Presser
92
A jeśli chcesz wybrać HTML ze strefami czasowymi Windows w:
<select><option value="Morocco Standard Time">(GMT)Casablanca</option><option value="GMT Standard Time">(GMT)GreenwichMeanTime:Dublin,Edinburgh,Lisbon,London</option><option value="Greenwich Standard Time">(GMT)Monrovia,Reykjavik</option><option value="W. Europe Standard Time">(GMT+01:00)Amsterdam,Berlin,Bern,Rome,Stockholm,Vienna</option><option value="Central Europe Standard Time">(GMT+01:00)Belgrade,Bratislava,Budapest,Ljubljana,Prague</option><option value="Romance Standard Time">(GMT+01:00)Brussels,Copenhagen,Madrid,Paris</option><option value="Central European Standard Time">(GMT+01:00)Sarajevo,Skopje,Warsaw,Zagreb</option><option value="W. Central Africa Standard Time">(GMT+01:00)WestCentralAfrica</option><option value="Jordan Standard Time">(GMT+02:00)Amman</option><option value="GTB Standard Time">(GMT+02:00)Athens,Bucharest,Istanbul</option><option value="Middle East Standard Time">(GMT+02:00)Beirut</option><option value="Egypt Standard Time">(GMT+02:00)Cairo</option><option value="South Africa Standard Time">(GMT+02:00)Harare,Pretoria</option><option value="FLE Standard Time">(GMT+02:00)Helsinki,Kyiv,Riga,Sofia,Tallinn,Vilnius</option><option value="Israel Standard Time">(GMT+02:00)Jerusalem</option><option value="E. Europe Standard Time">(GMT+02:00)Minsk</option><option value="Namibia Standard Time">(GMT+02:00)Windhoek</option><option value="Arabic Standard Time">(GMT+03:00)Baghdad</option><option value="Arab Standard Time">(GMT+03:00)Kuwait,Riyadh</option><option value="Russian Standard Time">(GMT+03:00)Moscow,St.Petersburg,Volgograd</option><option value="E. Africa Standard Time">(GMT+03:00)Nairobi</option><option value="Georgian Standard Time">(GMT+03:00)Tbilisi</option><option value="Iran Standard Time">(GMT+03:30)Tehran</option><option value="Arabian Standard Time">(GMT+04:00)AbuDhabi,Muscat</option><option value="Azerbaijan Standard Time">(GMT+04:00)Baku</option><option value="Mauritius Standard Time">(GMT+04:00)PortLouis</option><option value="Caucasus Standard Time">(GMT+04:00)Yerevan</option><option value="Afghanistan Standard Time">(GMT+04:30)Kabul</option><option value="Ekaterinburg Standard Time">(GMT+05:00)Ekaterinburg</option><option value="Pakistan Standard Time">(GMT+05:00)Islamabad,Karachi</option><option value="West Asia Standard Time">(GMT+05:00)Tashkent</option><option value="India Standard Time">(GMT+05:30)Chennai,Kolkata,Mumbai,NewDelhi</option><option value="Sri Lanka Standard Time">(GMT+05:30)SriJayawardenepura</option><option value="Nepal Standard Time">(GMT+05:45)Kathmandu</option><option value="N. Central Asia Standard Time">(GMT+06:00)Almaty,Novosibirsk</option><option value="Central Asia Standard Time">(GMT+06:00)Astana,Dhaka</option><option value="Myanmar Standard Time">(GMT+06:30)Yangon(Rangoon)</option><option value="SE Asia Standard Time">(GMT+07:00)Bangkok,Hanoi,Jakarta</option><option value="North Asia Standard Time">(GMT+07:00)Krasnoyarsk</option><option value="China Standard Time">(GMT+08:00)Beijing,Chongqing,HongKong,Urumqi</option><option value="North Asia East Standard Time">(GMT+08:00)Irkutsk,UlaanBataar</option><option value="Singapore Standard Time">(GMT+08:00)KualaLumpur,Singapore</option><option value="W. Australia Standard Time">(GMT+08:00)Perth</option><option value="Taipei Standard Time">(GMT+08:00)Taipei</option><option value="Tokyo Standard Time">(GMT+09:00)Osaka,Sapporo,Tokyo</option><option value="Korea Standard Time">(GMT+09:00)Seoul</option><option value="Yakutsk Standard Time">(GMT+09:00)Yakutsk</option><option value="Cen. Australia Standard Time">(GMT+09:30)Adelaide</option><option value="AUS Central Standard Time">(GMT+09:30)Darwin</option><option value="E. Australia Standard Time">(GMT+10:00)Brisbane</option><option value="AUS Eastern Standard Time">(GMT+10:00)Canberra,Melbourne,Sydney</option><option value="West Pacific Standard Time">(GMT+10:00)Guam,PortMoresby</option><option value="Tasmania Standard Time">(GMT+10:00)Hobart</option><option value="Vladivostok Standard Time">(GMT+10:00)Vladivostok</option><option value="Central Pacific Standard Time">(GMT+11:00)Magadan,SolomonIs.,NewCaledonia</option><option value="New Zealand Standard Time">(GMT+12:00)Auckland,Wellington</option><option value="Fiji Standard Time">(GMT+12:00)Fiji,Kamchatka,MarshallIs.</option><option value="Tonga Standard Time">(GMT+13:00)Nuku'alofa</option><option value="Azores Standard Time">(GMT-01:00)Azores</option><option value="Cape Verde Standard Time">(GMT-01:00)CapeVerdeIs.</option><option value="Mid-Atlantic Standard Time">(GMT-02:00)Mid-Atlantic</option><option value="E. South America Standard Time">(GMT-03:00)Brasilia</option><option value="Argentina Standard Time">(GMT-03:00)BuenosAires</option><option value="SA Eastern Standard Time">(GMT-03:00)Georgetown</option><option value="Greenland Standard Time">(GMT-03:00)Greenland</option><option value="Montevideo Standard Time">(GMT-03:00)Montevideo</option><option value="Newfoundland Standard Time">(GMT-03:30)Newfoundland</option><option value="Atlantic Standard Time">(GMT-04:00)AtlanticTime(Canada)</option><option value="SA Western Standard Time">(GMT-04:00)LaPaz</option><option value="Central Brazilian Standard Time">(GMT-04:00)Manaus</option><option value="Pacific SA Standard Time">(GMT-04:00)Santiago</option><option value="Venezuela Standard Time">(GMT-04:30)Caracas</option><option value="SA Pacific Standard Time">(GMT-05:00)Bogota,Lima,Quito,RioBranco</option><option value="Eastern Standard Time">(GMT-05:00)EasternTime(US &Canada)</option><option value="US Eastern Standard Time">(GMT-05:00)Indiana(East)</option><option value="Central America Standard Time">(GMT-06:00)CentralAmerica</option><option value="Central Standard Time">(GMT-06:00)CentralTime(US &Canada)</option><option value="Central Standard Time (Mexico)">(GMT-06:00)Guadalajara,MexicoCity,Monterrey</option><option value="Canada Central Standard Time">(GMT-06:00)Saskatchewan</option><option value="US Mountain Standard Time">(GMT-07:00)Arizona</option><option value="Mountain Standard Time (Mexico)">(GMT-07:00)Chihuahua,LaPaz,Mazatlan</option><option value="Mountain Standard Time">(GMT-07:00)MountainTime(US &Canada)</option><option value="Pacific Standard Time">(GMT-08:00)PacificTime(US &Canada)</option><option value="Pacific Standard Time (Mexico)">(GMT-08:00)Tijuana,BajaCalifornia</option><option value="Alaskan Standard Time">(GMT-09:00)Alaska</option><option value="Hawaiian Standard Time">(GMT-10:00)Hawaii</option><option value="Samoa Standard Time">(GMT-11:00)MidwayIsland,Samoa</option><option value="Dateline Standard Time">(GMT-12:00)InternationalDateLineWest</option></select>
A jeśli chcesz go używać w C # .NET MVC w widoku Razor:
var timezones =newList<SelectListItem>{newSelectListItem(){Value="",Text="Select timezone...",Selected=false},newSelectListItem(){Value="Morocco Standard Time",Text="(GMT) Casablanca",Selected=false},newSelectListItem(){Value="GMT Standard Time",Text="(GMT) Greenwich Mean Time : Dublin, Edinburgh, Lisbon, London",Selected=false},newSelectListItem(){Value="Greenwich Standard Time",Text="(GMT) Monrovia, Reykjavik",Selected=false},newSelectListItem(){Value="W. Europe Standard Time",Text="(GMT+01:00) Amsterdam, Berlin, Bern, Rome, Stockholm, Vienna",Selected=false},newSelectListItem(){Value="Central Europe Standard Time",Text="(GMT+01:00) Belgrade, Bratislava, Budapest, Ljubljana, Prague",Selected=false},newSelectListItem(){Value="Romance Standard Time",Text="(GMT+01:00) Brussels, Copenhagen, Madrid, Paris",Selected=false},newSelectListItem(){Value="Central European Standard Time",Text="(GMT+01:00) Sarajevo, Skopje, Warsaw, Zagreb",Selected=false},newSelectListItem(){Value="W. Central Africa Standard Time",Text="(GMT+01:00) West Central Africa",Selected=false},newSelectListItem(){Value="Jordan Standard Time",Text="(GMT+02:00) Amman",Selected=false},newSelectListItem(){Value="GTB Standard Time",Text="(GMT+02:00) Athens, Bucharest, Istanbul",Selected=false},newSelectListItem(){Value="Middle East Standard Time",Text="(GMT+02:00) Beirut",Selected=false},newSelectListItem(){Value="Egypt Standard Time",Text="(GMT+02:00) Cairo",Selected=false},newSelectListItem(){Value="South Africa Standard Time",Text="(GMT+02:00) Harare, Pretoria",Selected=false},newSelectListItem(){Value="FLE Standard Time",Text="(GMT+02:00) Helsinki, Kyiv, Riga, Sofia, Tallinn, Vilnius",Selected=false},newSelectListItem(){Value="Israel Standard Time",Text="(GMT+02:00) Jerusalem",Selected=false},newSelectListItem(){Value="E. Europe Standard Time",Text="(GMT+02:00) Minsk",Selected=false},newSelectListItem(){Value="Namibia Standard Time",Text="(GMT+02:00) Windhoek",Selected=false},newSelectListItem(){Value="Arabic Standard Time",Text="(GMT+03:00) Baghdad",Selected=false},newSelectListItem(){Value="Arab Standard Time",Text="(GMT+03:00) Kuwait, Riyadh",Selected=false},newSelectListItem(){Value="Russian Standard Time",Text="(GMT+03:00) Moscow, St. Petersburg, Volgograd",Selected=false},newSelectListItem(){Value="E. Africa Standard Time",Text="(GMT+03:00) Nairobi",Selected=false},newSelectListItem(){Value="Georgian Standard Time",Text="(GMT+03:00) Tbilisi",Selected=false},newSelectListItem(){Value="Iran Standard Time",Text="(GMT+03:30) Tehran",Selected=false},newSelectListItem(){Value="Arabian Standard Time",Text="(GMT+04:00) Abu Dhabi, Muscat",Selected=false},newSelectListItem(){Value="Azerbaijan Standard Time",Text="(GMT+04:00) Baku",Selected=false},newSelectListItem(){Value="Mauritius Standard Time",Text="(GMT+04:00) Port Louis",Selected=false},newSelectListItem(){Value="Caucasus Standard Time",Text="(GMT+04:00) Yerevan",Selected=false},newSelectListItem(){Value="Afghanistan Standard Time",Text="(GMT+04:30) Kabul",Selected=false},newSelectListItem(){Value="Ekaterinburg Standard Time",Text="(GMT+05:00) Ekaterinburg",Selected=false},newSelectListItem(){Value="Pakistan Standard Time",Text="(GMT+05:00) Islamabad, Karachi",Selected=false},newSelectListItem(){Value="West Asia Standard Time",Text="(GMT+05:00) Tashkent",Selected=false},newSelectListItem(){Value="India Standard Time",Text="(GMT+05:30) Chennai, Kolkata, Mumbai, New Delhi",Selected=false},newSelectListItem(){Value="Sri Lanka Standard Time",Text="(GMT+05:30) Sri Jayawardenepura",Selected=false},newSelectListItem(){Value="Nepal Standard Time",Text="(GMT+05:45) Kathmandu",Selected=false},newSelectListItem(){Value="N. Central Asia Standard Time",Text="(GMT+06:00) Almaty, Novosibirsk",Selected=false},newSelectListItem(){Value="Central Asia Standard Time",Text="(GMT+06:00) Astana, Dhaka",Selected=false},newSelectListItem(){Value="Myanmar Standard Time",Text="(GMT+06:30) Yangon (Rangoon)",Selected=false},newSelectListItem(){Value="SE Asia Standard Time",Text="(GMT+07:00) Bangkok, Hanoi, Jakarta",Selected=false},newSelectListItem(){Value="North Asia Standard Time",Text="(GMT+07:00) Krasnoyarsk",Selected=false},newSelectListItem(){Value="China Standard Time",Text="(GMT+08:00) Beijing, Chongqing, Hong Kong, Urumqi",Selected=false},newSelectListItem(){Value="North Asia East Standard Time",Text="(GMT+08:00) Irkutsk, Ulaan Bataar",Selected=false},newSelectListItem(){Value="Singapore Standard Time",Text="(GMT+08:00) Kuala Lumpur, Singapore",Selected=false},newSelectListItem(){Value="W. Australia Standard Time",Text="(GMT+08:00) Perth",Selected=false},newSelectListItem(){Value="Taipei Standard Time",Text="(GMT+08:00) Taipei",Selected=false},newSelectListItem(){Value="Tokyo Standard Time",Text="(GMT+09:00) Osaka, Sapporo, Tokyo",Selected=false},newSelectListItem(){Value="Korea Standard Time",Text="(GMT+09:00) Seoul",Selected=false},newSelectListItem(){Value="Yakutsk Standard Time",Text="(GMT+09:00) Yakutsk",Selected=false},newSelectListItem(){Value="Cen. Australia Standard Time",Text="(GMT+09:30) Adelaide",Selected=false},newSelectListItem(){Value="AUS Central Standard Time",Text="(GMT+09:30) Darwin",Selected=false},newSelectListItem(){Value="E. Australia Standard Time",Text="(GMT+10:00) Brisbane",Selected=false},newSelectListItem(){Value="AUS Eastern Standard Time",Text="(GMT+10:00) Canberra, Melbourne, Sydney",Selected=false},newSelectListItem(){Value="West Pacific Standard Time",Text="(GMT+10:00) Guam, Port Moresby",Selected=false},newSelectListItem(){Value="Tasmania Standard Time",Text="(GMT+10:00) Hobart",Selected=false},newSelectListItem(){Value="Vladivostok Standard Time",Text="(GMT+10:00) Vladivostok",Selected=false},newSelectListItem(){Value="Central Pacific Standard Time",Text="(GMT+11:00) Magadan, Solomon Is., New Caledonia",Selected=false},newSelectListItem(){Value="New Zealand Standard Time",Text="(GMT+12:00) Auckland, Wellington",Selected=false},newSelectListItem(){Value="Fiji Standard Time",Text="(GMT+12:00) Fiji, Kamchatka, Marshall Is.",Selected=false},newSelectListItem(){Value="Tonga Standard Time",Text="(GMT+13:00) Nuku'alofa",Selected=false},newSelectListItem(){Value="Azores Standard Time",Text="(GMT-01:00) Azores",Selected=false},newSelectListItem(){Value="Cape Verde Standard Time",Text="(GMT-01:00) Cape Verde Is.",Selected=false},newSelectListItem(){Value="Mid-Atlantic Standard Time",Text="(GMT-02:00) Mid-Atlantic",Selected=false},newSelectListItem(){Value="E. South America Standard Time",Text="(GMT-03:00) Brasilia",Selected=false},newSelectListItem(){Value="Argentina Standard Time",Text="(GMT-03:00) Buenos Aires",Selected=false},newSelectListItem(){Value="SA Eastern Standard Time",Text="(GMT-03:00) Georgetown",Selected=false},newSelectListItem(){Value="Greenland Standard Time",Text="(GMT-03:00) Greenland",Selected=false},newSelectListItem(){Value="Montevideo Standard Time",Text="(GMT-03:00) Montevideo",Selected=false},newSelectListItem(){Value="Newfoundland Standard Time",Text="(GMT-03:30) Newfoundland",Selected=false},newSelectListItem(){Value="Atlantic Standard Time",Text="(GMT-04:00) Atlantic Time (Canada)",Selected=false},newSelectListItem(){Value="SA Western Standard Time",Text="(GMT-04:00) La Paz",Selected=false},newSelectListItem(){Value="Central Brazilian Standard Time",Text="(GMT-04:00) Manaus",Selected=false},newSelectListItem(){Value="Pacific SA Standard Time",Text="(GMT-04:00) Santiago",Selected=false},newSelectListItem(){Value="Venezuela Standard Time",Text="(GMT-04:30) Caracas",Selected=false},newSelectListItem(){Value="SA Pacific Standard Time",Text="(GMT-05:00) Bogota, Lima, Quito, Rio Branco",Selected=false},newSelectListItem(){Value="Eastern Standard Time",Text="(GMT-05:00) Eastern Time (US & Canada)",Selected=false},newSelectListItem(){Value="US Eastern Standard Time",Text="(GMT-05:00) Indiana (East)",Selected=false},newSelectListItem(){Value="Central America Standard Time",Text="(GMT-06:00) Central America",Selected=false},newSelectListItem(){Value="Central Standard Time",Text="(GMT-06:00) Central Time (US & Canada)",Selected=false},newSelectListItem(){Value="Central Standard Time (Mexico)",Text="(GMT-06:00) Guadalajara, Mexico City, Monterrey",Selected=false},newSelectListItem(){Value="Canada Central Standard Time",Text="(GMT-06:00) Saskatchewan",Selected=false},newSelectListItem(){Value="US Mountain Standard Time",Text="(GMT-07:00) Arizona",Selected=false},newSelectListItem(){Value="Mountain Standard Time (Mexico)",Text="(GMT-07:00) Chihuahua, La Paz, Mazatlan",Selected=false},newSelectListItem(){Value="Mountain Standard Time",Text="(GMT-07:00) Mountain Time (US & Canada)",Selected=false},newSelectListItem(){Value="Pacific Standard Time",Text="(GMT-08:00) Pacific Time (US & Canada)",Selected=false},newSelectListItem(){Value="Pacific Standard Time (Mexico)",Text="(GMT-08:00) Tijuana, Baja California",Selected=false},newSelectListItem(){Value="Alaskan Standard Time",Text="(GMT-09:00) Alaska",Selected=false},newSelectListItem(){Value="Hawaiian Standard Time",Text="(GMT-10:00) Hawaii",Selected=false},newSelectListItem(){Value="Samoa Standard Time",Text="(GMT-11:00) Midway Island, Samoa",Selected=false},newSelectListItem(){Value="Dateline Standard Time",Text="(GMT-12:00) International Date Line West",Selected=false}}
Chociaż dla Razor możesz oczywiście po prostu wygenerować opcje, zapętlając TimeZoneInfo.GetSystemTimeZones()
Czy masz kod, który generuje tę listę? Zastanawiam się, jak wyprowadzasz sekcję GMT.
Jeson Martajaya
45
Po co kodować listę na sztywno, jeśli można ją uzyskać za pomocą var allTimeZones = TimeZoneInfo.GetSystemTimeZones (); ???
HelloWorld,
6
Twarde kodowanie listy może pomijać idealnie prawidłowe wartości, które są dodawane z czasem! To nie jest dobry pomysł.
ErikE
2
wydaje się, że to naprawdę zły pomysł, aby zakodować w widoku. podatny na błędy ludzkie i prawdziwy ból do utrzymania.
sara,
1
Został tu dodany (kod .NET), aby można go było wyciąć i wkleić, minimalizując w ten sposób błędy ludzkie. To powiedziawszy, rozwiązanie sugeruje również zapętlanie przez TimeZoneInfo.GetSystemTimeZones (). Nie jestem pewien, jak często zmieniają się definicje stref czasowych (i czy takie zmiany są natychmiast odzwierciedlane w .NET), więc nie jestem pewien, ile tak naprawdę wymagałoby „konserwacji”.
ReadOnlyCollection<TimeZoneInfo> zones =TimeZoneInfo.GetSystemTimeZones();Console.WriteLine("The local system has the following {0} time zones", zones.Count);foreach(TimeZoneInfo zone in zones)Console.WriteLine(zone.Id);
To nie jest ich lista ... Nie chcę wchodzić i programowo wypisywać ich za każdym razem, gdy chcę z nich korzystać.
Thomas
1
@ user976921: To daje listę ich zdefiniowanych przez komputer lokalny. Możesz nawet zdefiniować niestandardowe, więc nie jestem pewien, o ile bardziej wyczerpująca jest lista, którą możesz chcieć.
Marc
@ user976921: uruchom Marckod, a następnie skopiuj z okna wyjściowego do pliku tekstowego.
MusiGenesis
1
To da mi listę, jeśli stworzę program do ich wypisania. Chodzi o to, że chcę listę, do której mogę szybko się odwoływać i nie muszę nadążać za programem, aby pokazywać mi je za każdym razem, gdy chcę. Chcę tylko szybki link referencyjny, do którego mogę przejść w dowolnym momencie i zobaczyć pełną wyczerpującą listę.
Thomas
@Marc +1 dla linqpad ... Nigdy wcześniej o nim nie słyszałem, ale wygląda niezwykle przydatnie! Dzięki!
Paccc,
8
Pełną listę stref czasowych znajdziesz GMToffsetstutaj i można użyć „name of Time Zone” wartość kolumny znaleźć strefę czasową przez ID
na przykład
TimeZoneInfo objTimeZoneInfo =TimeZoneInfo.FindTimeZoneById("Dateline Standard Time");
Otrzymasz klasę informacji o strefie czasowej, która zawiera standardową strefę czasową linii danych, która jest używana dla GMT-12: 00 .
Co dziwne, na stronie odnoszącej się do „tutaj” ( msdn.microsoft.com/en-us/library/… ) lista może być niepełna , ale może nie być poprawna. Sprawdź wpis dotyczący problematycznego dziecka Arizona (USA). Wpis na stronie mówi „US Mountain Standard Time”, ale ta wartość powoduje wyjątek TimeZoneNotFoundException, jeśli użyjesz go w FindTimeZoneById. Jeśli sprawdzisz wynik programu powyżej, zobaczysz, że poprawna wartość to „US Mountain Standard Time” (bez okresów). Wygląda na to, że wartości na stronie zostały w pewnym momencie „wyczyszczone” i nie można im ufać.
Anne Gunn,
8
Oto wersja Jsona, którą przekonwertowałem z odpowiedzi ProfNimrod ...
{
tZCode :"Morocco Standard Time",
tZDesc :"(GMT) Casablanca"},{
tZCode :"GMT Standard Time",
tZDesc :"(GMT) Greenwich Mean Time : Dublin, Edinburgh, Lisbon, London"},{
tZCode :"Greenwich Standard Time",
tZDesc :"(GMT) Monrovia, Reykjavik"},{
tZCode :"W. Europe Standard Time",
tZDesc :"(GMT+01:00) Amsterdam, Berlin, Bern, Rome, Stockholm, Vienna"},{
tZCode :"Central Europe Standard Time",
tZDesc :"(GMT+01:00) Belgrade, Bratislava, Budapest, Ljubljana, Prague"},{
tZCode :"Romance Standard Time",
tZDesc :"(GMT+01:00) Brussels, Copenhagen, Madrid, Paris"},{
tZCode :"Central European Standard Time",
tZDesc :"(GMT+01:00) Sarajevo, Skopje, Warsaw, Zagreb"},{
tZCode :"W. Central Africa Standard Time",
tZDesc :"(GMT+01:00) West Central Africa"},{
tZCode :"Jordan Standard Time",
tZDesc :"(GMT+02:00) Amman"},{
tZCode :"GTB Standard Time",
tZDesc :"(GMT+02:00) Athens, Bucharest, Istanbul"},{
tZCode :"Middle East Standard Time",
tZDesc :"(GMT+02:00) Beirut"},{
tZCode :"Egypt Standard Time",
tZDesc :"(GMT+02:00) Cairo"},{
tZCode :"South Africa Standard Time",
tZDesc :"(GMT+02:00) Harare, Pretoria"},{
tZCode :"FLE Standard Time",
tZDesc :"(GMT+02:00) Helsinki, Kyiv, Riga, Sofia, Tallinn, Vilnius"},{
tZCode :"Israel Standard Time",
tZDesc :"(GMT+02:00) Jerusalem"},{
tZCode :"E. Europe Standard Time",
tZDesc :"(GMT+02:00) Minsk"},{
tZCode :"Namibia Standard Time",
tZDesc :"(GMT+02:00) Windhoek"},{
tZCode :"Arabic Standard Time",
tZDesc :"(GMT+03:00) Baghdad"},{
tZCode :"Arab Standard Time",
tZDesc :"(GMT+03:00) Kuwait, Riyadh"},{
tZCode :"Russian Standard Time",
tZDesc :"(GMT+03:00) Moscow, St. Petersburg, Volgograd"},{
tZCode :"E. Africa Standard Time",
tZDesc :"(GMT+03:00) Nairobi"},{
tZCode :"Georgian Standard Time",
tZDesc :"(GMT+03:00) Tbilisi"},{
tZCode :"Iran Standard Time",
tZDesc :"(GMT+03:30) Tehran"},{
tZCode :"Arabian Standard Time",
tZDesc :"(GMT+04:00) Abu Dhabi, Muscat"},{
tZCode :"Azerbaijan Standard Time",
tZDesc :"(GMT+04:00) Baku"},{
tZCode :"Mauritius Standard Time",
tZDesc :"(GMT+04:00) Port Louis"},{
tZCode :"Caucasus Standard Time",
tZDesc :"(GMT+04:00) Yerevan"},{
tZCode :"Afghanistan Standard Time",
tZDesc :"(GMT+04:30) Kabul"},{
tZCode :"Ekaterinburg Standard Time",
tZDesc :"(GMT+05:00) Ekaterinburg"},{
tZCode :"Pakistan Standard Time",
tZDesc :"(GMT+05:00) Islamabad, Karachi"},{
tZCode :"West Asia Standard Time",
tZDesc :"(GMT+05:00) Tashkent"},{
tZCode :"India Standard Time",
tZDesc :"(GMT+05:30) Chennai, Kolkata, Mumbai, New Delhi"},{
tZCode :"Sri Lanka Standard Time",
tZDesc :"(GMT+05:30) Sri Jayawardenepura"},{
tZCode :"Nepal Standard Time",
tZDesc :"(GMT+05:45) Kathmandu"},{
tZCode :"N. Central Asia Standard Time",
tZDesc :"(GMT+06:00) Almaty, Novosibirsk"},{
tZCode :"Central Asia Standard Time",
tZDesc :"(GMT+06:00) Astana, Dhaka"},{
tZCode :"Myanmar Standard Time",
tZDesc :"(GMT+06:30) Yangon (Rangoon)"},{
tZCode :"SE Asia Standard Time",
tZDesc :"(GMT+07:00) Bangkok, Hanoi, Jakarta"},{
tZCode :"North Asia Standard Time",
tZDesc :"(GMT+07:00) Krasnoyarsk"},{
tZCode :"China Standard Time",
tZDesc :"(GMT+08:00) Beijing, Chongqing, Hong Kong, Urumqi"},{
tZCode :"North Asia East Standard Time",
tZDesc :"(GMT+08:00) Irkutsk, Ulaan Bataar"},{
tZCode :"Singapore Standard Time",
tZDesc :"(GMT+08:00) Kuala Lumpur, Singapore"},{
tZCode :"W. Australia Standard Time",
tZDesc :"(GMT+08:00) Perth"},{
tZCode :"Taipei Standard Time",
tZDesc :"(GMT+08:00) Taipei"},{
tZCode :"Tokyo Standard Time",
tZDesc :"(GMT+09:00) Osaka, Sapporo, Tokyo"},{
tZCode :"Korea Standard Time",
tZDesc :"(GMT+09:00) Seoul"},{
tZCode :"Yakutsk Standard Time",
tZDesc :"(GMT+09:00) Yakutsk"},{
tZCode :"Cen. Australia Standard Time",
tZDesc :"(GMT+09:30) Adelaide"},{
tZCode :"AUS Central Standard Time",
tZDesc :"(GMT+09:30) Darwin"},{
tZCode :"E. Australia Standard Time",
tZDesc :"(GMT+10:00) Brisbane"},{
tZCode :"AUS Eastern Standard Time",
tZDesc :"(GMT+10:00) Canberra, Melbourne, Sydney"},{
tZCode :"West Pacific Standard Time",
tZDesc :"(GMT+10:00) Guam, Port Moresby"},{
tZCode :"Tasmania Standard Time",
tZDesc :"(GMT+10:00) Hobart"},{
tZCode :"Vladivostok Standard Time",
tZDesc :"(GMT+10:00) Vladivostok"},{
tZCode :"Central Pacific Standard Time",
tZDesc :"(GMT+11:00) Magadan, Solomon Is., New Caledonia"},{
tZCode :"New Zealand Standard Time",
tZDesc :"(GMT+12:00) Auckland, Wellington"},{
tZCode :"Fiji Standard Time",
tZDesc :"(GMT+12:00) Fiji, Kamchatka, Marshall Is."},{
tZCode :"Tonga Standard Time",
tZDesc :"(GMT+13:00) Nuku'alofa"},{
tZCode :"Azores Standard Time",
tZDesc :"(GMT-01:00) Azores"},{
tZCode :"Cape Verde Standard Time",
tZDesc :"(GMT-01:00) Cape Verde Is."},{
tZCode :"Mid-Atlantic Standard Time",
tZDesc :"(GMT-02:00) Mid-Atlantic"},{
tZCode :"E. South America Standard Time",
tZDesc :"(GMT-03:00) Brasilia"},{
tZCode :"Argentina Standard Time",
tZDesc :"(GMT-03:00) Buenos Aires"},{
tZCode :"SA Eastern Standard Time",
tZDesc :"(GMT-03:00) Georgetown"},{
tZCode :"Greenland Standard Time",
tZDesc :"(GMT-03:00) Greenland"},{
tZCode :"Montevideo Standard Time",
tZDesc :"(GMT-03:00) Montevideo"},{
tZCode :"Newfoundland Standard Time",
tZDesc :"(GMT-03:30) Newfoundland"},{
tZCode :"Atlantic Standard Time",
tZDesc :"(GMT-04:00) Atlantic Time (Canada)"},{
tZCode :"SA Western Standard Time",
tZDesc :"(GMT-04:00) La Paz"},{
tZCode :"Central Brazilian Standard Time",
tZDesc :"(GMT-04:00) Manaus"},{
tZCode :"Pacific SA Standard Time",
tZDesc :"(GMT-04:00) Santiago"},{
tZCode :"Venezuela Standard Time",
tZDesc :"(GMT-04:30) Caracas"},{
tZCode :"SA Pacific Standard Time",
tZDesc :"(GMT-05:00) Bogota, Lima, Quito, Rio Branco"},{
tZCode :"Eastern Standard Time",
tZDesc :"(GMT-05:00) Eastern Time (US & Canada)"},{
tZCode :"US Eastern Standard Time",
tZDesc :"(GMT-05:00) Indiana (East)"},{
tZCode :"Central America Standard Time",
tZDesc :"(GMT-06:00) Central America"},{
tZCode :"Central Standard Time",
tZDesc :"(GMT-06:00) Central Time (US & Canada)"},{
tZCode :"Central Standard Time (Mexico)",
tZDesc :"(GMT-06:00) Guadalajara, Mexico City, Monterrey"},{
tZCode :"Canada Central Standard Time",
tZDesc :"(GMT-06:00) Saskatchewan"},{
tZCode :"US Mountain Standard Time",
tZDesc :"(GMT-07:00) Arizona"},{
tZCode :"Mountain Standard Time (Mexico)",
tZDesc :"(GMT-07:00) Chihuahua, La Paz, Mazatlan"},{
tZCode :"Mountain Standard Time",
tZDesc :"(GMT-07:00) Mountain Time (US & Canada)"},{
tZCode :"Pacific Standard Time",
tZDesc :"(GMT-08:00) Pacific Time (US & Canada)"},{
tZCode :"Pacific Standard Time (Mexico)",
tZDesc :"(GMT-08:00) Tijuana, Baja California"},{
tZCode :"Alaskan Standard Time",
tZDesc :"(GMT-09:00) Alaska"},{
tZCode :"Hawaiian Standard Time",
tZDesc :"(GMT-10:00) Hawaii"},{
tZCode :"Samoa Standard Time",
tZDesc :"(GMT-11:00) Midway Island, Samoa"},{
tZCode :"Dateline Standard Time",
tZDesc :"(GMT-12:00) International Date Line West"}
Tylko uwaga na ten link, z jakiegokolwiek powodu, wydaje się, że podali nieco błędne identyfikatory stref czasowych. Na przykład mają USA, a nie tylko USA
Big Luke
3
Jest kolumna z indeksem numerycznym ... Czy ktoś wie, czy mogę uzyskać strefę czasową przez ten indeks, zamiast polegać na nazwie ciągu?
Mike Ruhlin
Czy wiesz, do czego służą te „Indeks strefy czasowej”? Czy dotyczą one tylko systemu Windows XP i wcześniejszych?
<formid="form1"runat="server"><divstyle="font-size:30px;padding:25px;text-align: center;">
Get Current Date And Time Of All TimeZones
</div><hr/><divstyle="font-size:18px;padding:25px;text-align: center;"><divclass="clsLeft">
Select TimeZone :-
</div><divclass="clsRight"><asp:DropDownListID="ddlTimeZone"runat="server"AutoPostBack="True"OnSelectedIndexChanged="ddlTimeZone_SelectedIndexChanged"Font-Size="18px"></asp:DropDownList></div><divclass="clearspace"></div><divclass="clsLeft">
Selected TimeZone :-
</div><divclass="clsRight"><asp:LabelID="lblTimeZone"runat="server"Text=""/></div><divclass="clearspace"></div><divclass="clsLeft">
Current Date And Time :-
</div><divclass="clsRight"><asp:LabelID="lblCurrentDateTime"runat="server"Text=""/></div></div><p>
</p><asp:ButtonID="Button1"runat="server"onclick="Button1_Click"Text="Button"/></form>
protectedvoidPage_Load(object sender,EventArgs e){if(!IsPostBack){BindTimeZone();GetSelectedTimeZone();}}protectedvoid ddlTimeZone_SelectedIndexChanged(object sender,EventArgs e){GetSelectedTimeZone();}/// <summary>/// Get all timezone from local system and bind it in dropdownlist/// </summary>privatevoidBindTimeZone(){foreach(TimeZoneInfo z inTimeZoneInfo.GetSystemTimeZones()){
ddlTimeZone.Items.Add(newListItem(z.DisplayName, z.Id));}}/// <summary>/// Get selected timezone and current date & time/// </summary>privatevoidGetSelectedTimeZone(){DateTimeOffset newTime =TimeZoneInfo.ConvertTime(DateTimeOffset.UtcNow,TimeZoneInfo.FindSystemTimeZoneById(ddlTimeZone.SelectedValue));//DateTimeOffset newTime2 = TimeZoneInfo.ConvertTime(DateTimeOffset.UtcNow, TimeZoneInfo.FindSystemTimeZoneById(ddlTimeZone.SelectedValue));
lblTimeZone.Text= ddlTimeZone.SelectedItem.Text;
lblCurrentDateTime.Text= newTime.ToString();string str;
str = lblCurrentDateTime.Text;string s=str.Substring(0,10);DateTime dt =newDateTime();
dt =Convert.ToDateTime(s);// Response.Write(dt.ToString());Response.Write(ddlTimeZone.SelectedValue);}
TimeZoneInfo.FindTimeZoneById()
siebie lub użyj jej,TZUTIL.EXE /L
aby je wyświetlić. Poniższe odpowiedzi stanowią jedynie migawkę danych w momencie ich zgłoszenia. NIE KOPIUJ TUTAJ DO HARDCODE DO SWOJEJ APLIKACJI!HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Time Zones
lub użyćEnumDynamicTimeZoneInformation
interfejsu API systemu Windows.Odpowiedzi:
Oto pełna lista programu i jego wyników .
Kod:
W TimeZoneId Wyniki na mojej stacji roboczej Windows 7:
źródło
A jeśli chcesz wybrać HTML ze strefami czasowymi Windows w:
A jeśli chcesz go używać w C # .NET MVC w widoku Razor:
Chociaż dla Razor możesz oczywiście po prostu wygenerować opcje, zapętlając
TimeZoneInfo.GetSystemTimeZones()
źródło
Oto link, którego szukasz:
C # System timeZoneID
źródło
Z MSDN
źródło
Marc
kod, a następnie skopiuj z okna wyjściowego do pliku tekstowego.Pełną listę stref czasowych znajdziesz
GMToffsets
tutaj i można użyć „name of Time Zone” wartość kolumny znaleźć strefę czasową przez IDna przykład
Otrzymasz klasę informacji o strefie czasowej, która zawiera standardową strefę czasową linii danych, która jest używana dla GMT-12: 00 .
źródło
Oto wersja Jsona, którą przekonwertowałem z odpowiedzi ProfNimrod ...
źródło
Wiem, że to stare i stare pytanie, ale wydaje się, że Microsoft dostarczył je teraz za pośrednictwem MSDN.
http://msdn.microsoft.com/en-us/library/gg154758.aspx
źródło
Podejrzewam, że tego właśnie szuka większość ludzi:
Wartości indeksu strefy czasowej Microsoft
Mam nadzieję, że MS aktualizuje go nawet po XP.
źródło
Lista identyfikatorów stref czasowych, domyślnie zawartych w Windows XP i Vista: Znajdowanie stref czasowych zdefiniowanych w systemie lokalnym
źródło
Oto lista stref czasowych firmy Microsoft
źródło
Powyższe zawiera listę stref czasowych, która zawiera identyfikatory.
źródło
źródło
Ten kod jest w pełni przetestowany i działa dla mnie. Możesz go użyć, po prostu skopiuj i wklej na stronie aspx i stronie cs.
To jest mój blog, tutaj możesz pobrać pełny kod. dzięki.
http://www.c-sharpcorner.com/blogs/display-all-the-timezone-information-in-dropdown-list-of-a-local-system-using-c-sharp-with-asp-net
źródło