为什么这给了我两组不同的时区?

时间:2010-05-26 23:22:19

标签: c# .net asp.net-mvc windows-server-2008

修改

我认为这是一个问题,我使用的是Windows 7,我的服务器是Windows 2008.我认为Windows 2008仍然使用GMT。那么我怎么能解决这个问题呢。就像我想在UTC中处理但我希望默认选择的项目是“协调世界时”,而不是在gmt列表中但在UTC列表中。

所以我不知道该怎么做。 (我不是共享主机,所以如果你可以在Windows 2008机器上更改它,它对我没什么帮助。)

您好

我有这条线来获得所有时区

 Dictionary<string, TimeZoneInfo> storeZoneName = TimeZoneInfo.GetSystemTimeZones().ToDictionary(z => z.DisplayName);

现在当我上传时,我在本地机器上试试,我得到了这个

(UTC-12:00) International Date Line West
(UTC-11:00) Coordinated Universal Time-11
(UTC-11:00) Samoa
(UTC-10:00) Hawaii
(UTC-09:00) Alaska
(UTC-08:00) Baja California
(UTC-08:00) Pacific Time (US & Canada)
(UTC-07:00) Arizona
(UTC-07:00) Chihuahua, La Paz, Mazatlan
(UTC-07:00) Mountain Time (US & Canada)
(UTC-06:00) Central America
(UTC-06:00) Central Time (US & Canada)
(UTC-06:00) Guadalajara, Mexico City, Monterrey
(UTC-06:00) Saskatchewan
(UTC-05:00) Bogota, Lima, Quito
(UTC-05:00) Eastern Time (US & Canada)
(UTC-05:00) Indiana (East)
(UTC-04:30) Caracas
(UTC-04:00) Asuncion
(UTC-04:00) Atlantic Time (Canada)
(UTC-04:00) Cuiaba
(UTC-04:00) Georgetown, La Paz, Manaus, San Juan
(UTC-04:00) Santiago
(UTC-03:30) Newfoundland
(UTC-03:00) Brasilia
(UTC-03:00) Buenos Aires
(UTC-03:00) Cayenne, Fortaleza
(UTC-03:00) Greenland
(UTC-03:00) Montevideo
(UTC-02:00) Coordinated Universal Time-02
(UTC-02:00) Mid-Atlantic
(UTC-01:00) Azores
(UTC-01:00) Cape Verde Is.
(UTC) Casablanca
(UTC) Coordinated Universal Time
(UTC) Dublin, Edinburgh, Lisbon, London
(UTC) Monrovia, Reykjavik
(UTC+01:00) Amsterdam, Berlin, Bern, Rome, Stockholm, Vienna
(UTC+01:00) Belgrade, Bratislava, Budapest, Ljubljana, Prague
(UTC+01:00) Brussels, Copenhagen, Madrid, Paris
(UTC+01:00) Sarajevo, Skopje, Warsaw, Zagreb
(UTC+01:00) West Central Africa
(UTC+02:00) Amman
(UTC+02:00) Athens, Bucharest, Istanbul
(UTC+02:00) Beirut
(UTC+02:00) Cairo
(UTC+02:00) Harare, Pretoria
(UTC+02:00) Helsinki, Kyiv, Riga, Sofia, Tallinn, Vilnius
(UTC+02:00) Jerusalem
(UTC+02:00) Minsk
(UTC+02:00) Windhoek
(UTC+03:00) Baghdad
(UTC+03:00) Kuwait, Riyadh
(UTC+03:00) Moscow, St. Petersburg, Volgograd
(UTC+03:00) Nairobi
(UTC+03:30) Tehran
(UTC+04:00) Abu Dhabi, Muscat
(UTC+04:00) Baku
(UTC+04:00) Port Louis
(UTC+04:00) Tbilisi
(UTC+04:00) Yerevan
(UTC+04:30) Kabul
(UTC+05:00) Ekaterinburg
(UTC+05:00) Islamabad, Karachi
(UTC+05:00) Tashkent
(UTC+05:30) Chennai, Kolkata, Mumbai, New Delhi
(UTC+05:30) Sri Jayawardenepura
(UTC+05:45) Kathmandu
(UTC+06:00) Astana
(UTC+06:00) Dhaka
(UTC+06:00) Novosibirsk
(UTC+06:30) Yangon (Rangoon)
(UTC+07:00) Bangkok, Hanoi, Jakarta
(UTC+07:00) Krasnoyarsk
(UTC+08:00) Beijing, Chongqing, Hong Kong, Urumqi
(UTC+08:00) Irkutsk
(UTC+08:00) Kuala Lumpur, Singapore
(UTC+08:00) Perth
(UTC+08:00) Taipei
(UTC+08:00) Ulaanbaatar
(UTC+09:00) Osaka, Sapporo, Tokyo
(UTC+09:00) Seoul
(UTC+09:00) Yakutsk
(UTC+09:30) Adelaide
(UTC+09:30) Darwin
(UTC+10:00) Brisbane
(UTC+10:00) Canberra, Melbourne, Sydney
(UTC+10:00) Guam, Port Moresby
(UTC+10:00) Hobart
(UTC+10:00) Vladivostok
(UTC+11:00) Magadan, Solomon Is., New Caledonia
(UTC+12:00) Auckland, Wellington
(UTC+12:00) Coordinated Universal Time+12
(UTC+12:00) Fiji
(UTC+12:00) Petropavlovsk-Kamchatsky
(UTC+13:00) Nuku'alofa

当我在不同的本地计算机或服务器上运行时,我就有了这个。

<option value="(GMT) Casablanca">(GMT) Casablanca</option>
<option value="(GMT) Greenwich Mean Time : Dublin, Edinburgh, Lisbon, London">(GMT) Greenwich Mean Time : Dublin, Edinburgh, Lisbon, London</option>
<option value="(GMT) Monrovia, Reykjavik">(GMT) Monrovia, Reykjavik</option>
<option value="(GMT+01:00) Amsterdam, Berlin, Bern, Rome, Stockholm, Vienna">(GMT+01:00) Amsterdam, Berlin, Bern, Rome, Stockholm, Vienna</option>
<option value="(GMT+01:00) Belgrade, Bratislava, Budapest, Ljubljana, Prague">(GMT+01:00) Belgrade, Bratislava, Budapest, Ljubljana, Prague</option>
<option value="(GMT+01:00) Brussels, Copenhagen, Madrid, Paris">(GMT+01:00) Brussels, Copenhagen, Madrid, Paris</option>
<option value="(GMT+01:00) Sarajevo, Skopje, Warsaw, Zagreb">(GMT+01:00) Sarajevo, Skopje, Warsaw, Zagreb</option>
<option value="(GMT+01:00) West Central Africa">(GMT+01:00) West Central Africa</option>
<option value="(GMT+02:00) Amman">(GMT+02:00) Amman</option>
<option value="(GMT+02:00) Athens, Bucharest, Istanbul">(GMT+02:00) Athens, Bucharest, Istanbul</option>
<option value="(GMT+02:00) Beirut">(GMT+02:00) Beirut</option>
<option value="(GMT+02:00) Cairo">(GMT+02:00) Cairo</option>
<option value="(GMT+02:00) Harare, Pretoria">(GMT+02:00) Harare, Pretoria</option>
<option value="(GMT+02:00) Helsinki, Kyiv, Riga, Sofia, Tallinn, Vilnius">(GMT+02:00) Helsinki, Kyiv, Riga, Sofia, Tallinn, Vilnius</option>
<option value="(GMT+02:00) Jerusalem">(GMT+02:00) Jerusalem</option>
<option value="(GMT+02:00) Minsk">(GMT+02:00) Minsk</option>
<option value="(GMT+02:00) Windhoek">(GMT+02:00) Windhoek</option>
<option value="(GMT+03:00) Baghdad">(GMT+03:00) Baghdad</option>
<option value="(GMT+03:00) Kuwait, Riyadh">(GMT+03:00) Kuwait, Riyadh</option>
<option value="(GMT+03:00) Moscow, St. Petersburg, Volgograd">(GMT+03:00) Moscow, St. Petersburg, Volgograd</option>
<option value="(GMT+03:00) Nairobi">(GMT+03:00) Nairobi</option>
<option value="(GMT+03:00) Tbilisi">(GMT+03:00) Tbilisi</option>
<option value="(GMT+03:30) Tehran">(GMT+03:30) Tehran</option>
<option value="(GMT+04:00) Abu Dhabi, Muscat">(GMT+04:00) Abu Dhabi, Muscat</option>
<option value="(GMT+04:00) Baku">(GMT+04:00) Baku</option>
<option value="(GMT+04:00) Port Louis">(GMT+04:00) Port Louis</option>
<option value="(GMT+04:00) Yerevan">(GMT+04:00) Yerevan</option>
<option value="(GMT+04:30) Kabul">(GMT+04:30) Kabul</option>
<option value="(GMT+05:00) Ekaterinburg">(GMT+05:00) Ekaterinburg</option>
<option value="(GMT+05:00) Islamabad, Karachi">(GMT+05:00) Islamabad, Karachi</option>
<option value="(GMT+05:00) Tashkent">(GMT+05:00) Tashkent</option>
<option value="(GMT+05:30) Chennai, Kolkata, Mumbai, New Delhi">(GMT+05:30) Chennai, Kolkata, Mumbai, New Delhi</option>
<option value="(GMT+05:30) Sri Jayawardenepura">(GMT+05:30) Sri Jayawardenepura</option>
<option value="(GMT+05:45) Kathmandu">(GMT+05:45) Kathmandu</option>
<option value="(GMT+06:00) Almaty, Novosibirsk">(GMT+06:00) Almaty, Novosibirsk</option>
<option value="(GMT+06:00) Astana, Dhaka">(GMT+06:00) Astana, Dhaka</option>
<option value="(GMT+06:30) Yangon (Rangoon)">(GMT+06:30) Yangon (Rangoon)</option>
<option value="(GMT+07:00) Bangkok, Hanoi, Jakarta">(GMT+07:00) Bangkok, Hanoi, Jakarta</option>
<option value="(GMT+07:00) Krasnoyarsk">(GMT+07:00) Krasnoyarsk</option>
<option value="(GMT+08:00) Beijing, Chongqing, Hong Kong, Urumqi">(GMT+08:00) Beijing, Chongqing, Hong Kong, Urumqi</option>
<option value="(GMT+08:00) Irkutsk, Ulaan Bataar">(GMT+08:00) Irkutsk, Ulaan Bataar</option>
<option value="(GMT+08:00) Kuala Lumpur, Singapore">(GMT+08:00) Kuala Lumpur, Singapore</option>
<option value="(GMT+08:00) Perth">(GMT+08:00) Perth</option>
<option value="(GMT+08:00) Taipei">(GMT+08:00) Taipei</option>
<option value="(GMT+09:00) Osaka, Sapporo, Tokyo">(GMT+09:00) Osaka, Sapporo, Tokyo</option>
<option value="(GMT+09:00) Seoul">(GMT+09:00) Seoul</option>
<option value="(GMT+09:00) Yakutsk">(GMT+09:00) Yakutsk</option>
<option value="(GMT+09:30) Adelaide">(GMT+09:30) Adelaide</option>
<option value="(GMT+09:30) Darwin">(GMT+09:30) Darwin</option>
<option value="(GMT+10:00) Brisbane">(GMT+10:00) Brisbane</option>
<option value="(GMT+10:00) Canberra, Melbourne, Sydney">(GMT+10:00) Canberra, Melbourne, Sydney</option>
<option value="(GMT+10:00) Guam, Port Moresby">(GMT+10:00) Guam, Port Moresby</option>
<option value="(GMT+10:00) Hobart">(GMT+10:00) Hobart</option>
<option value="(GMT+10:00) Vladivostok">(GMT+10:00) Vladivostok</option>
<option value="(GMT+11:00) Magadan, Solomon Is., New Caledonia">(GMT+11:00) Magadan, Solomon Is., New Caledonia</option>
<option value="(GMT+12:00) Auckland, Wellington">(GMT+12:00) Auckland, Wellington</option>
<option value="(GMT+12:00) Fiji, Kamchatka, Marshall Is.">(GMT+12:00) Fiji, Kamchatka, Marshall Is.</option>
<option value="(GMT+13:00) Nuku'alofa">(GMT+13:00) Nuku'alofa</option>
<option value="(GMT-01:00) Azores">(GMT-01:00) Azores</option>
<option value="(GMT-01:00) Cape Verde Is.">(GMT-01:00) Cape Verde Is.</option>
<option value="(GMT-02:00) Mid-Atlantic">(GMT-02:00) Mid-Atlantic</option>
<option value="(GMT-03:00) Brasilia">(GMT-03:00) Brasilia</option>
<option value="(GMT-03:00) Buenos Aires">(GMT-03:00) Buenos Aires</option>
<option value="(GMT-03:00) Georgetown">(GMT-03:00) Georgetown</option>
<option value="(GMT-03:00) Greenland">(GMT-03:00) Greenland</option>
<option value="(GMT-03:00) Montevideo">(GMT-03:00) Montevideo</option>
<option value="(GMT-03:30) Newfoundland">(GMT-03:30) Newfoundland</option>
<option value="(GMT-04:00) Atlantic Time (Canada)">(GMT-04:00) Atlantic Time (Canada)</option>
<option value="(GMT-04:00) La Paz">(GMT-04:00) La Paz</option>
<option value="(GMT-04:00) Manaus">(GMT-04:00) Manaus</option>
<option value="(GMT-04:00) Santiago">(GMT-04:00) Santiago</option>
<option value="(GMT-04:30) Caracas">(GMT-04:30) Caracas</option>
<option value="(GMT-05:00) Bogota, Lima, Quito, Rio Branco">(GMT-05:00) Bogota, Lima, Quito, Rio Branco</option>
<option value="(GMT-05:00) Eastern Time (US &amp; Canada)">(GMT-05:00) Eastern Time (US &amp; Canada)</option>
<option value="(GMT-05:00) Indiana (East)">(GMT-05:00) Indiana (East)</option>
<option value="(GMT-06:00) Central America">(GMT-06:00) Central America</option>
<option value="(GMT-06:00) Central Time (US &amp; Canada)">(GMT-06:00) Central Time (US &amp; Canada)</option>
<option value="(GMT-06:00) Guadalajara, Mexico City, Monterrey">(GMT-06:00) Guadalajara, Mexico City, Monterrey</option>
<option value="(GMT-06:00) Saskatchewan">(GMT-06:00) Saskatchewan</option>
<option value="(GMT-07:00) Arizona">(GMT-07:00) Arizona</option>
<option value="(GMT-07:00) Chihuahua, La Paz, Mazatlan">(GMT-07:00) Chihuahua, La Paz, Mazatlan</option>
<option value="(GMT-07:00) Mountain Time (US &amp; Canada)">(GMT-07:00) Mountain Time (US &amp; Canada)</option>
<option value="(GMT-08:00) Pacific Time (US &amp; Canada)">(GMT-08:00) Pacific Time (US &amp; Canada)</option>
<option value="(GMT-08:00) Tijuana, Baja California">(GMT-08:00) Tijuana, Baja California</option>
<option value="(GMT-09:00) Alaska">(GMT-09:00) Alaska</option>
<option value="(GMT-10:00) Hawaii">(GMT-10:00) Hawaii</option>
<option value="(GMT-11:00) Midway Island, Samoa">(GMT-11:00) Midway Island, Samoa</option>
<option value="(GMT-12:00) International Date Line West">(GMT-12:00) International Date Line West</option>

他们是不同的。相同的代码行,但一个是GMT,一个是UTC。我怎么能强迫它总是一样?

另外我想要默认选择“UTC”,但我不确定这之间的差异是什么

(UTC-11:00) Coordinated Universal Time-11

and this

  (UTC-02:00) Coordinated Universal Time-02

2 个答案:

答案 0 :(得分:3)

问题在于您使用的是DisplayName时区,这只是一个标签,不应该用于识别时区!当TimeZoneInfo.GetSystemTimeZones()枚举本地系统上的时区时,DisplayName会有所不同,具体取决于您运行该程序的操作系统。

早于Windows Vista / 2008 Server的系统将时区显示为GMT + XX:XX,但新系统使用UTC + XX:XX样式。但这并非唯一的区别;在某些时区,列出的城市也存在差异,列出的城市名称已本地化

电子。 G。时区ID“阿拉伯标准时间”显示为:
(GMT+03:00) Kuwait, Er Riad在德国XP / 2003系统上,但它是
(UTC+03:00) Kuwait, Riyadh在英文Win 7系统中。

“中央标准时间”列为:
(GMT-06:00) Chicago, Dallas, Kansas City, Winnipeg - GER XP / 2003
(UTC-06:00) Central Time (US & Canada) - ENG Win 7

交换GMT和UTC 可能会在某些情况中有效,但它并不总是有效,并且会导致意外错误!所以不要这样做!

您应该我们Id属性识别时区,并仅使用DisplayName 显示目的(顾名思义)。

Id表示时区的密钥,就像它存储在HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Time Zones的注册表中一样,它可以在不同的OS-Versions和-Languages中工作。

答案 1 :(得分:1)

GMT和UTC是一回事。我想一个系统设置为英语(美国),一个系统设置为英语(英国)(或者其他一些组合)。

  

(UTC-11:00)世界协调时间-11

这意味着“比UTC晚11小时”。

  

(UTC-02:00)世界协调时间-02

这意味着“比UTC晚2小时”

也就是说,如果UTC是下午4:32,则UTC-02:00将是下午2:32,UTC-11:00将是上午5:32。