Список идентификаторов часовых поясов для использования с FindTimeZoneById () в C #?
255
Может кто-нибудь указать мне полный список всех часовых поясов, на которые ссылается ожидаемый идентификатор TimeZoneInfo.FindTimeZoneById()? Я нигде не могу найти список, и я просмотрел документацию .NET.
Если вы заметите, что в ответах ниже есть несколько смущающе дублирующих идентификаторов часовых поясов, вы должны прочитать здесь, чтобы узнать больше: stackoverflow.com/a/15448800/37055
Крис Марисич
7
ВАЖНО - Эти данные не являются статичными. Новые часовые пояса вводятся в Windows по мере того, как правительства стран мира вносят изменения. Это в конечном итоге, почему нет авторитетных страниц, перечисляющих их в документах. Не полагайтесь на какие-либо жестко закодированные списки, но позвоните TimeZoneInfo.FindTimeZoneById()себе или используйте TZUTIL.EXE /Lдля их перечисления. Приведенные ниже ответы являются всего лишь снимком данных на момент их представления. НЕ КОПИРУЙТЕ ЗДЕСЬ, ЧТОБЫ УЖЕ СКОРОСТЬ В ВАШУ ПРИЛОЖЕНИЕ!
Мэтт Джонсон-Пинт
1
При необходимости вы можете прочитать данные реестра HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Time Zonesили использовать EnumDynamicTimeZoneInformationWindows API.
Мэтт Джонсон-Пинт
Ответы:
359
Вот полный список программы и ее результатов .
Код:
using System;
namespace TimeZoneIds{classProgram{staticvoidMain(string[] args){foreach(TimeZoneInfo z inTimeZoneInfo.GetSystemTimeZones())Console.WriteLine(z.Id);}}}
Результаты TimeZoneId на моей рабочей станции Windows 7:
Является ли вывод этого списка чувствительным к тому, находитесь ли вы в настоящее время в летнее время или нет? В противном случае имена кажутся неточными. Восточное стандартное время GMT - 5, но GMT - 4 большую часть года.
JohnOpincar
4
Да, метод TimeZoneInfo.FindSystemTimeZoneById чувствителен к летнему времени ... См. Msdn.microsoft.com/en-US/library/… . В нем говорится: «Этот объект TimeZoneInfo затем используется для преобразования местного времени в время в Токио и определения того, является ли это стандартным временем Токио или летним временем Токио».
Себастьян
25
@JohnOpincar - Вы правы. Имена ID будут вводить в заблуждение. "Eastern Standard Time" представляет как EST и EDT.
Мэтт Джонсон-Пинт
6
@ Себастьян - просто чтобы избежать путаницы, я думаю, что твое первое предложение должно гласить: «Нет, результаты программы НЕ чувствительны к летнему времени». Независимо от того, в какое время года вы запускаете программу, список будет одним и тем же, о чем спрашивал ДжонОпинкар.
ТТТ
6
Осторожно: имена часовых поясов чувствительны к операционной системе. Windows Server 2008 и Windows Server 2012 имеют разные списки.
Росс Прессер
92
И если вы хотите HTML, выберите с часовыми поясами Windows в:
<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>
И если вы хотите использовать его в C # .NET MVC в представлении 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}}
Хотя для Razor вы, конечно, можете просто сгенерировать опции, просматривая TimeZoneInfo.GetSystemTimeZones()
У вас есть код, который генерирует этот список? Интересно, как вы выводите раздел GMT?
Джесон Мартаджая
45
Зачем жестко кодировать список, если вы можете получить его через var allTimeZones = TimeZoneInfo.GetSystemTimeZones (); ???
HelloWorld
6
Жесткое кодирование списка может исключить совершенно правильные значения, которые добавляются со временем! Не хорошая идея.
ErikE
2
это кажется очень плохой идеей жестко закодировать в представление. склонны к человеческим ошибкам и реальной боли для поддержания.
Сара
1
Он (код .NET) был добавлен сюда, чтобы его можно было вырезать и вставить, тем самым сводя к минимуму человеческие ошибки. Тем не менее, решение также предлагает цикл по TimeZoneInfo.GetSystemTimeZones (). Не знаете, как часто меняются определения часовых поясов (и отражаются ли такие изменения в .NET сразу), поэтому не знаете, сколько фактически потребуется «обслуживания».
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);
Это не их список ... Я не хочу входить и программно перечислять их всякий раз, когда я хочу их использовать.
Томас
1
@ user976921: Это дает вам список из них, как определено на вашем локальном компьютере. Вы могли бы даже определить пользовательские, так что я не совсем уверен, насколько более полный список вы могли бы хотеть.
Марк
@ user976921: запустите Marcкод, затем скопируйте из окна вывода в текстовый файл.
MusiGenesis
1
Это даст мне список, если я сделаю программу для их вывода. Дело в том, что мне нужен список, на который я могу быстро ссылаться, и мне не нужно идти в ногу с программой, просто чтобы показывать их мне каждый раз, когда я хочу их. Мне просто нужна быстрая справочная ссылка, по которой я могу перейти в любое время и просмотреть полный список.
Томас
@Marc +1 для linqpad ... Никогда не слышал об этом раньше, но это выглядит чрезвычайно полезным! Спасибо!
Paccc
8
Вы найдете полный список часовых поясов с его GMToffsetsздесь, и вы можете использовать значение столбца «Название часового пояса», чтобы найти часовой пояс по идентификатору
например
TimeZoneInfo objTimeZoneInfo =TimeZoneInfo.FindTimeZoneById("Dateline Standard Time");
Вы получите класс информации о часовом поясе, который содержит часовой пояс стандартного часового пояса, который используется для GMT-12: 00 .
Как ни странно, на странице, указанной как «здесь» ( msdn.microsoft.com/en-us/library/… ), список может быть, а может и не быть полным, но он неправильный. Проверьте запись для проблемного ребенка Аризона (США). Запись на странице гласит «Стандартное время США», но это значение вызывает исключение TimeZoneNotFoundException, если вы используете его в FindTimeZoneById. Если вы проверите вышеприведенный вывод программы, вы увидите правильное значение «Стандартное время США» (без периодов). Похоже, что значения на странице были «очищены» в какой-то момент и им нельзя доверять.
Энн Ганн
8
И вот версия Json, которую я преобразовал из ответа ПрофНимрода ...
{
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"}
Просто примечание по этой ссылке, по какой-то причине, они, кажется, опубликовали идентификаторы часовых поясов немного неправильно. Например, у них есть США, а не только США
Большой Лука
3
Есть столбец с числовым индексом ... Кто-нибудь знает, могу ли я как-то получить часовой пояс по этому индексу вместо того, чтобы полагаться на имя строки?
Майк Рухлин,
Знаете ли вы, для чего используются эти идентификаторы индекса часового пояса? Они относятся только к Windows XP и раньше?
<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()
себе или используйтеTZUTIL.EXE /L
для их перечисления. Приведенные ниже ответы являются всего лишь снимком данных на момент их представления. НЕ КОПИРУЙТЕ ЗДЕСЬ, ЧТОБЫ УЖЕ СКОРОСТЬ В ВАШУ ПРИЛОЖЕНИЕ!HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Time Zones
или использоватьEnumDynamicTimeZoneInformation
Windows API.Ответы:
Вот полный список программы и ее результатов .
Код:
Результаты TimeZoneId на моей рабочей станции Windows 7:
источник
И если вы хотите HTML, выберите с часовыми поясами Windows в:
И если вы хотите использовать его в C # .NET MVC в представлении Razor:
Хотя для Razor вы, конечно, можете просто сгенерировать опции, просматривая
TimeZoneInfo.GetSystemTimeZones()
источник
Вот ссылка, которую вы ищете:
C # Системные timeZoneID's
источник
Из MSDN
источник
Marc
код, затем скопируйте из окна вывода в текстовый файл.Вы найдете полный список часовых поясов с его
GMToffsets
здесь, и вы можете использовать значение столбца «Название часового пояса», чтобы найти часовой пояс по идентификаторунапример
Вы получите класс информации о часовом поясе, который содержит часовой пояс стандартного часового пояса, который используется для GMT-12: 00 .
источник
И вот версия Json, которую я преобразовал из ответа ПрофНимрода ...
источник
Я знаю, что это старый и старый вопрос, но Microsoft, похоже, предоставила это через MSDN сейчас.
http://msdn.microsoft.com/en-us/library/gg154758.aspx
источник
Я подозреваю, что это то, что ищет большинство людей:
Значения индекса часового пояса Microsoft
Надеемся, что MS поддерживает его в актуальном состоянии даже после XP.
источник
Список идентификаторов часовых поясов, включенных по умолчанию в Windows XP и Vista: поиск часовых поясов, определенных в локальной системе
источник
Вот список часовых поясов от Microsoft
источник
Выше приведен список часовых поясов, который включает в себя идентификаторы.
источник
источник
Этот код полностью протестирован и работает на меня. Вы можете использовать его, просто скопировав и вставив страницу aspx и страницу cs.
Это мой блог, вы можете скачать полный код здесь. Спасибо.
http://www.c-sharpcorner.com/blogs/display-all-the-timezone-information-in-dropdown-list-of-a-local-system-using-c-sharp-with-asp-net
источник