ฉันต้องการใช้TimeZoneInfo.FindSystemTimeZoneById(String)
วิธีนี้ แต่ฉันไม่รู้ว่าจะใช้ค่าใดเป็นอินพุต?
ฉันจะรับรายการค่าที่id
จำเป็นสำหรับได้FindSystemTimeZoneById
ที่ไหน?
ฉันต้องการใช้TimeZoneInfo.FindSystemTimeZoneById(String)
วิธีนี้ แต่ฉันไม่รู้ว่าจะใช้ค่าใดเป็นอินพุต?
ฉันจะรับรายการค่าที่id
จำเป็นสำหรับได้FindSystemTimeZoneById
ที่ไหน?
คำตอบ:
นี่คือรายการใน Windows 8 (ฉันดึงข้อมูลจาก Windows Registry)
เวลามาตรฐานของอัฟกานิสถาน เวลามาตรฐานของอะแลสกา เวลามาตรฐานอลาสก้า Dynamic DST เวลามาตรฐานอาหรับ เวลามาตรฐานอาหรับ เวลามาตรฐานอาหรับ เวลามาตรฐานอาหรับ \ Dynamic DST เวลามาตรฐานของอาร์เจนตินา เวลามาตรฐานอาร์เจนตินา \ Dynamic DST เวลามาตรฐานแอตแลนติก เวลามาตรฐานแอตแลนติก \ Dynamic DST เวลามาตรฐานกลางของ AUS AUS เวลามาตรฐานตะวันออก AUS Eastern Standard Time \ Dynamic DST เวลามาตรฐานอาเซอร์ไบจาน เวลามาตรฐานของอะซอเรส เวลามาตรฐาน Azores \ Dynamic DST เวลามาตรฐานของ Bahia Bahia Standard Time \ Dynamic DST เวลามาตรฐานของบังกลาเทศ เวลามาตรฐานของบังคลาเทศ \ Dynamic DST เวลามาตรฐานกลางของแคนาดา เวลามาตรฐานเคปเวิร์ด เวลามาตรฐานคอเคซัส เวลามาตรฐานคอเคซัส \ ไดนามิก DST Cen. เวลามาตรฐานของออสเตรเลีย Cen. เวลามาตรฐานออสเตรเลีย \ Dynamic DST เวลามาตรฐานอเมริกากลาง เวลามาตรฐานเอเชียกลาง เวลามาตรฐานบราซิลกลาง เวลามาตรฐานบราซิลกลาง \ Dynamic DST เวลามาตรฐานยุโรปกลาง เวลามาตรฐานยุโรปกลาง เวลามาตรฐานแปซิฟิกกลาง เวลามาตรฐานกลาง เวลามาตรฐานกลาง \ Dynamic DST เวลามาตรฐานกลาง (เม็กซิโก) เวลามาตรฐานของจีน เวลามาตรฐานของ Dateline เวลามาตรฐานของแอฟริกา E. เวลามาตรฐานของออสเตรเลีย E. เวลามาตรฐานยุโรป เวลามาตรฐานของอเมริกาใต้ E. เวลามาตรฐานอเมริกาใต้ \ Dynamic DST เวลามาตรฐานตะวันออก เวลามาตรฐานตะวันออก \ Dynamic DST เวลามาตรฐานของอียิปต์ เวลามาตรฐานอียิปต์ \ Dynamic DST เวลามาตรฐานเอคาเทรินเบิร์ก เวลามาตรฐาน Ekaterinburg \ Dynamic DST เวลามาตรฐานฟิจิ เวลามาตรฐานฟิจิ \ Dynamic DST เวลามาตรฐาน FLE เวลามาตรฐานจอร์เจีย เวลามาตรฐาน GMT เวลามาตรฐานกรีนแลนด์ เวลามาตรฐานกรีนแลนด์ \ Dynamic DST เวลามาตรฐานกรีนิช เวลามาตรฐาน GTB เวลามาตรฐานของฮาวาย เวลามาตรฐานของอินเดีย เวลามาตรฐานของอิหร่าน เวลามาตรฐานอิหร่าน \ Dynamic DST เวลามาตรฐานของอิสราเอล เวลามาตรฐานของอิสราเอล \ Dynamic DST เวลามาตรฐานจอร์แดน Jordan Standard Time \ Dynamic DST เวลามาตรฐานคาลินินกราด เวลามาตรฐานคาลินินกราด \ Dynamic DST เวลามาตรฐานคัมชัตกา เวลามาตรฐานเกาหลี เวลามาตรฐานของลิเบีย เวลามาตรฐานลิเบีย \ Dynamic DST เวลามาตรฐานมากาดาน เวลามาตรฐาน Magadan \ Dynamic DST เวลามาตรฐานมอริเชียส เวลามาตรฐานมอริเชียส \ Dynamic DST เวลามาตรฐานกลางมหาสมุทรแอตแลนติก เวลามาตรฐานตะวันออกกลาง เวลามาตรฐานตะวันออกกลาง \ Dynamic DST เวลามาตรฐานของมอนเตวิเดโอ เวลามาตรฐานของมอนเตวิเดโอ \ ไดนามิก DST เวลามาตรฐานของโมร็อกโก โมร็อกโก Standard Time \ Dynamic DST เวลามาตรฐานภูเขา เวลามาตรฐานภูเขา \ Dynamic DST เวลามาตรฐานแถบภูเขา (เม็กซิโก) เวลามาตรฐานเมียนมาร์ N. เวลามาตรฐานเอเชียกลาง N. เวลามาตรฐานเอเชียกลาง \ Dynamic DST เวลามาตรฐานนามิเบีย เวลามาตรฐานนามิเบีย \ Dynamic DST เวลามาตรฐานเนปาล เวลามาตรฐานของนิวซีแลนด์ เวลามาตรฐานนิวซีแลนด์ \ Dynamic DST เวลามาตรฐานนิวฟันด์แลนด์ Newfoundland Standard Time \ Dynamic DST เวลามาตรฐานเอเชียตะวันออกเฉียงเหนือ เวลามาตรฐานเอเชียตะวันออกเฉียงเหนือ \ Dynamic DST เวลามาตรฐานเอเชียเหนือ เวลามาตรฐานเอเชียเหนือ \ Dynamic DST เวลามาตรฐาน Pacific SA เวลามาตรฐาน Pacific SA \ Dynamic DST เวลามาตรฐานแปซิฟิก เวลามาตรฐานแปซิฟิก \ Dynamic DST เวลามาตรฐานแปซิฟิก (เม็กซิโก) เวลามาตรฐานของปากีสถาน เวลามาตรฐานปากีสถาน \ Dynamic DST เวลามาตรฐานปารากวัย เวลามาตรฐานปารากวัย \ Dynamic DST เวลามาตรฐานโรแมนติก เวลามาตรฐานของรัสเซีย เวลามาตรฐานรัสเซีย \ Dynamic DST เวลามาตรฐานตะวันออกของ SA เวลามาตรฐาน SA Pacific SA เวลามาตรฐานตะวันตก เวลามาตรฐานซามัว เวลามาตรฐานซามัว \ ไดนามิก DST เวลามาตรฐานเอเชียตะวันออกเฉียงใต้ เวลามาตรฐานของสิงคโปร์ เวลามาตรฐานของแอฟริกาใต้ เวลามาตรฐานของศรีลังกา เวลามาตรฐานของซีเรีย เวลามาตรฐานซีเรีย \ Dynamic DST เวลามาตรฐานไทเป เวลามาตรฐานแทสเมเนีย เวลามาตรฐานแทสเมเนีย \ Dynamic DST เวลามาตรฐานของโตเกียว เวลามาตรฐานของตองกา เวลามาตรฐานของตุรกี เวลามาตรฐานตุรกี \ Dynamic DST เวลามาตรฐานอูลานบาตอร์ เวลามาตรฐานตะวันออกของสหรัฐฯ DST เวลามาตรฐานตะวันออกของสหรัฐอเมริกา เวลามาตรฐานภูเขาของสหรัฐฯ UTC UTC + 12 UTC-02 UTC-11 เวลามาตรฐานเวเนซุเอลา เวเนซุเอลา Standard Time \ Dynamic DST เวลามาตรฐานของวลาดิวอสต็อก เวลามาตรฐาน Vladivostok \ Dynamic DST W. เวลามาตรฐานออสเตรเลีย W. เวลามาตรฐานออสเตรเลีย \ Dynamic DST W. เวลามาตรฐานของแอฟริกากลาง ว. เวลามาตรฐานยุโรป เวลามาตรฐานเอเชียตะวันตก เวลามาตรฐานแปซิฟิกตะวันตก เวลามาตรฐานของยาคุตสค์ เวลามาตรฐาน Yakutsk \ Dynamic DST
GMT Standard Time
( stackoverflow.com/questions/4034923/… )
คุณสามารถดึงข้อมูลจากรายการแบบคงที่ในTimeZoneInfo
ชั้นเรียน
var infos = TimeZoneInfo.GetSystemTimeZones();
foreach (var info in infos)
{
Console.WriteLine(info.Id);
}
ตัวอย่าง:
var tzInfo = TimeZoneInfo.FindSystemTimeZoneById("New Zealand Standard Time");
หรือหากคุณต้องการเพียงแค่รายชื่อของเขตเวลาเช่นที่ DJ KRAZE แนะนำ
var timeZoneIds = TimeZoneInfo.GetSystemTimeZones().Select(t => t.Id);
เขตเวลาที่ใช้ได้ ได้แก่ :
Console.WriteLine(string.Join("\n",TimeZoneInfo.GetSystemTimeZones().Select(x=>x.Id)));
ผลลัพธ์:
Dateline Standard Time
UTC-11
Aleutian Standard Time
Hawaiian Standard Time
Marquesas Standard Time
Alaskan Standard Time
UTC-09
Pacific Standard Time (Mexico)
UTC-08
Pacific Standard Time
US Mountain Standard Time
Mountain Standard Time (Mexico)
Mountain Standard Time
Central America Standard Time
Central Standard Time
Easter Island Standard Time
Central Standard Time (Mexico)
Canada Central Standard Time
SA Pacific Standard Time
Eastern Standard Time (Mexico)
Eastern Standard Time
Haiti Standard Time
Cuba Standard Time
US Eastern Standard Time
Paraguay Standard Time
Atlantic Standard Time
Venezuela Standard Time
Central Brazilian Standard Time
SA Western Standard Time
Pacific SA Standard Time
Turks And Caicos Standard Time
Newfoundland Standard Time
Tocantins Standard Time
E. South America Standard Time
SA Eastern Standard Time
Argentina Standard Time
Greenland Standard Time
Montevideo Standard Time
Saint Pierre Standard Time
Bahia Standard Time
UTC-02
Mid-Atlantic Standard Time
Azores Standard Time
Cape Verde Standard Time
UTC
Morocco Standard Time
GMT Standard Time
Greenwich Standard Time
W. Europe Standard Time
Central Europe Standard Time
Romance Standard Time
Central European Standard Time
W. Central Africa Standard Time
Namibia Standard Time
Jordan Standard Time
GTB Standard Time
Middle East Standard Time
Egypt Standard Time
E. Europe Standard Time
Syria Standard Time
West Bank Standard Time
South Africa Standard Time
FLE Standard Time
Israel Standard Time
Kaliningrad Standard Time
Libya Standard Time
Arabic Standard Time
Turkey Standard Time
Arab Standard Time
Belarus Standard Time
Russian Standard Time
E. Africa Standard Time
Iran Standard Time
Arabian Standard Time
Astrakhan Standard Time
Azerbaijan Standard Time
Russia Time Zone 3
Mauritius Standard Time
Georgian Standard Time
Caucasus Standard Time
Afghanistan Standard Time
West Asia Standard Time
Ekaterinburg Standard Time
Pakistan Standard Time
India Standard Time
Sri Lanka Standard Time
Nepal Standard Time
Central Asia Standard Time
Bangladesh Standard Time
Omsk Standard Time
Myanmar Standard Time
SE Asia Standard Time
Altai Standard Time
W. Mongolia Standard Time
North Asia Standard Time
N. Central Asia Standard Time
Tomsk Standard Time
China Standard Time
North Asia East Standard Time
Singapore Standard Time
W. Australia Standard Time
Taipei Standard Time
Ulaanbaatar Standard Time
North Korea Standard Time
Aus Central W. Standard Time
Transbaikal Standard Time
Tokyo Standard Time
Korea Standard Time
Yakutsk Standard Time
Cen. Australia Standard Time
AUS Central Standard Time
E. Australia Standard Time
AUS Eastern Standard Time
West Pacific Standard Time
Tasmania Standard Time
Vladivostok Standard Time
Lord Howe Standard Time
Bougainville Standard Time
Russia Time Zone 10
Magadan Standard Time
Norfolk Standard Time
Sakhalin Standard Time
Central Pacific Standard Time
Russia Time Zone 11
New Zealand Standard Time
UTC+12
Fiji Standard Time
Kamchatka Standard Time
Chatham Islands Standard Time
Tonga Standard Time
Samoa Standard Time
Line Islands Standard Time
มีลักษณะที่วิธีการคงอยู่บนTimeZoneInfo
ที่เรียกว่าTimeZoneInfo.GetSystemTimeZones()
วิธีการ
สิ่งนี้จะส่งคืนรายการทั้งหมดTimeZoneInfo
ในระบบปฏิบัติการของคุณจาก Registry ทั้งหมดนี้ถูกเก็บไว้ภายใต้: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Time Zones
.
ตัวอย่างคือ "เวลามาตรฐาน GMT" สำหรับโซนเวลา "ดับลินเอดินบะระลิสบอนลอนดอน"
เอกสาร Microsoft ล่าสุดพร้อมรายการเหล่านี้สามารถพบได้ที่https://support.microsoft.com/en-gb/help/973627/microsoft-time-zone-index-values
สตริง ID โซนเวลามีดังนี้ (หากคุณต้องการดูความแตกต่างของเวลาจริงของดูดัชนีฐานสิบหกสำหรับแต่ละรหัสโซนเวลาจากนั้นคลิกลิงก์ด้านบน):
เวลามาตรฐานซามัว
เวลามาตรฐานของอะแลสกา
เวลามาตรฐานภูเขา
เวลามาตรฐานภูเขาของสหรัฐฯ
เวลามาตรฐานกลางของแคนาดา
เวลามาตรฐานอเมริกากลาง
เวลามาตรฐานตะวันออกของสหรัฐฯ
เวลามาตรฐานแอตแลนติก
เวลามาตรฐาน Pacific SA
เวลามาตรฐานของอเมริกาใต้
เวลามาตรฐานกรีนแลนด์
เวลามาตรฐานของอะซอเรส
เวลามาตรฐาน GMT
เวลามาตรฐานยุโรปกลาง
เวลามาตรฐานโรแมนติก
W. เวลามาตรฐานของแอฟริกากลาง
เวลามาตรฐานของอียิปต์
เวลามาตรฐาน GTB
เวลามาตรฐานของแอฟริกาใต้
เวลามาตรฐานอาหรับ
เวลามาตรฐานอาหรับ
เวลามาตรฐานอาหรับ
เวลามาตรฐานของรัฐอิสลามอัฟกานิสถานในช่วงเปลี่ยนผ่าน
เวลามาตรฐานเอเชียตะวันตก
เวลามาตรฐานเนปาล
เวลามาตรฐานของศรีลังกา
เวลามาตรฐานเมียนมาร์
เวลามาตรฐานเอเชียเหนือ
เวลามาตรฐานของสิงคโปร์
W. เวลามาตรฐานออสเตรเลีย
เวลามาตรฐานเกาหลี
เวลามาตรฐานของยาคุตสค์
Cen. เวลามาตรฐานของออสเตรเลีย
E. เวลามาตรฐานของออสเตรเลีย
เวลามาตรฐานของวลาดิวอสต็อก
เวลามาตรฐานแปซิฟิกกลาง
เวลามาตรฐานของนิวซีแลนด์
เวลามาตรฐานอาเซอร์ไบจาน
เวลามาตรฐานจอร์แดน
เวลามาตรฐานแถบภูเขา (เม็กซิโก)
เวลามาตรฐานนามิเบีย
เวลามาตรฐานบราซิลกลาง
เวลามาตรฐานของอาร์เมเนีย
เวลามาตรฐานของอาร์เจนตินา
เวลามาตรฐานของปากีสถาน
UTC
เวลามาตรฐานคัมชัตกา
หากต้องการรับรายการโซนเวลาล่าสุดให้ใช้ tzutil จาก Windows:
tzutil / ล
คุณสามารถค้นหารายการรหัสโซนเวลาอย่างเป็นทางการจาก Microsoft ได้ที่นี่: https://docs.microsoft.com/en-us/windows-hardware/manufacture/desktop/default-time-zones
ID | Time zone name
----------|------------------------
0 | Dateline Standard Time
110 | UTC-11
200 | Hawaiian Standard Time
300 | Alaskan Standard Time
400 | Pacific Standard Time
410 | Pacific Standard Time (Mexico)
500 | Mountain Standard Time
510 | Mountain Standard Time (Mexico)
520 | US Mountain Standard Time
600 | Canada Central Standard Time
610 | Central America Standard Time
620 | Central Standard Time
630 | Central Standard Time (Mexico)
700 | Eastern Standard Time
710 | SA Pacific Standard Time
720 | US Eastern Standard Time
840 | Venezuela Standard Time
800 | Atlantic Standard Time
810 | Central Brazilian Standard Time
820 | Pacific SA Standard Time
830 | SA Western Standard Time
850 | Paraguay Standard Time
900 | Newfoundland Standard Time
910 | E. South America Standard Time
920 | Greenland Standard Time
930 | Montevideo Standard Time
940 | SA Eastern Standard Time
950 | Argentina Standard Time
1000 | Mid-Atlantic Standard Time
1010 | UTC-2
1100 | Azores Standard Time
1110 | Cabo Verde Standard Time
1200 | GMT Standard Time
1210 | Greenwich Standard Time
1220 | Morocco Standard Time
1230 | UTC
1300 | Central Europe Standard Time
1310 | Central European Standard Time
1320 | Romance Standard Time
1330 | W. Central Africa Standard Time
1340 | W. Europe Standard Time
1350 | Namibia Standard Time
1400 | E. Europe Standard Time
1410 | Egypt Standard Time
1420 | FLE Standard Time
1430 | GTB Standard Time
1440 | Israel Standard Time
1450 | Jordan Standard Time
1460 | Middle East Standard Time
1470 | South Africa Standard Time
1480 | Syria Standard Time
1490 | Turkey Standard Time
1500 | Arab Standard Time
1510 | Arabic Standard Time
1520 | E. Africa Standard Time
1530 | Kaliningrad Standard Time
1550 | Iran Standard Time
1540 | Russian Standard Time
1600 | Arabian Standard Time
1610 | Azerbaijan Standard Time
1620 | Caucasus Standard Time
1640 | Georgian Standard Time
1650 | Mauritius Standard Time
1630 | Afghanistan Standard Time
1710 | West Asia Standard Time
1750 | Pakistan Standard Time
1720 | India Standard Time
1730 | Sri Lanka Standard Time
1740 | Nepal Standard Time
1700 | Ekaterinburg Standard Time
1800 | Central Asia Standard Time
1830 | Bangladesh Standard Time
1820 | Myanmar Standard Time
1810 | N. Central Asia Standard Time
1910 | SE Asia Standard Time
1900 | North Asia Standard Time
2000 | China Standard Time
2020 | Singapore Standard Time
2030 | Taipei Standard Time
2040 | W. Australia Standard Time
2050 | Ulaanbaatar Standard Time
2010 | North Asia East Standard Time
2100 | Korea Standard Time
2110 | Tokyo Standard Time
2130 | AUS Central Standard Time
2140 | Cen. Australia Standard Time
2120 | Yakutsk Standard Time
2200 | AUS Eastern Standard Time
2210 | E. Australia Standard Time
2220 | Tasmania Standard Time
2240 | West Pacific Standard Time
2230 | Vladivostok Standard Time
2300 | Central Pacific Standard Time
2310 | Magadan Standard Time
2400 | Fiji Standard Time
2410 | New Zealand Standard Time
2430 | UTC+12
2500 | Tonga Standard Time
2510 | Samoa Standard Time
เช่นเดียวกับที่คนอื่นพูดคุณสามารถค้นหารายการได้โดยการทำซ้ำTimeZoneInfo.GetSystemTimeZones()
เพื่อค้นหาสตริงที่คุณต้องการใช้ ที่กล่าวว่าหากคุณมีเพียงข้อมูลเกี่ยวกับความแตกต่างของเวลา (เช่น GMT + 9 หรือ GMT-10) และไม่พบเขตเวลาของคุณหลังจากทำซ้ำเขตเวลาแล้วคุณอาจต้องการดู URL ต่อไปนี้เพื่อดูว่าคุณต้องการเขตเวลาใด
https: / /msdn.microsoft.com/en-US/library/ms912391(v=winembedded.11).aspx
หรือคุณสามารถผ่านสิ่งTimeZoneInfo.Local.Id
นี้:
TimeZoneInfo tzi = TimeZoneInfo.FindSystemTimeZoneById(TimeZoneInfo.Local.Id);
DateTime localDateTime = TimeZoneInfo.ConvertTimeFromUtc(DateTime.UtcNow, tzi);
คุณสามารถใช้รหัสนั้นด้านล่าง
using System;
namespace TimeZoneIds
{
class Program
{
static void Main(string[] args)
{
foreach (TimeZoneInfo z in TimeZoneInfo.GetSystemTimeZones())
Console.WriteLine(z.Id);
}
}
}
วิธีการแปลงจากโซนเวลาหนึ่งไปยังอีกโซนหนึ่ง:
DateTime n = TimeZoneInfo.ConvertTimeBySystemTimeZoneId(datetime, "sourceTimeZoneId", "destinationTimeZoneId");
ฉันใช้ Win10 และฉันลงรายการTime Zone Id
ด้วยtime difference
:
Dateline Standard Time -12
UTC-11 -11
Hawaiian Standard Time -10
Aleutian Standard Time -9
Marquesas Standard Time -9
UTC-09 -9
Alaskan Standard Time -8
UTC-08 -8
Pacific Standard Time (Mexico) -7
Pacific Standard Time -7
US Mountain Standard Time -7
Mountain Standard Time (Mexico) -6
Mountain Standard Time -6
Central America Standard Time -6
Easter Island Standard Time -6
Canada Central Standard Time -6
Central Standard Time -5
Central Standard Time (Mexico) -5
SA Pacific Standard Time -5
Eastern Standard Time (Mexico) -5
Eastern Standard Time -4
Haiti Standard Time -4
Cuba Standard Time -4
US Eastern Standard Time -4
Turks And Caicos Standard Time -4
Paraguay Standard Time -4
Venezuela Standard Time -4
Central Brazilian Standard Time -4
SA Western Standard Time -4
Pacific SA Standard Time -4
Atlantic Standard Time -3
Tocantins Standard Time -3
E. South America Standard Time -3
SA Eastern Standard Time -3
Argentina Standard Time -3
Montevideo Standard Time -3
Magallanes Standard Time -3
Bahia Standard Time -3
Newfoundland Standard Time -2
Greenland Standard Time -2
Saint Pierre Standard Time -2
UTC-02 -2
Mid-Atlantic Standard Time -1
Cape Verde Standard Time -1
Azores Standard Time 0
UTC 0
Greenwich Standard Time 0
Sao Tome Standard Time 0
GMT Standard Time +1
Morocco Standard Time +1
W. Central Africa Standard Time +1
W. Europe Standard Time +2
Central Europe Standard Time +2
Romance Standard Time +2
Central European Standard Time +2
Egypt Standard Time +2
South Africa Standard Time +2
Kaliningrad Standard Time +2
Sudan Standard Time +2
Libya Standard Time +2
Namibia Standard Time +2
Jordan Standard Time +3
GTB Standard Time +3
Middle East Standard Time +3
E. Europe Standard Time +3
Syria Standard Time +3
West Bank Standard Time +3
FLE Standard Time +3
Israel Standard Time +3
Arabic Standard Time +3
Turkey Standard Time +3
Arab Standard Time +3
Belarus Standard Time +3
Russian Standard Time +3
E. Africa Standard Time +3
Iran Standard Time +4
Arabian Standard Time +4
Astrakhan Standard Time +4
Azerbaijan Standard Time +4
Russia Time Zone 3 +4
Mauritius Standard Time +4
Saratov Standard Time +4
Georgian Standard Time +4
Volgograd Standard Time +4
Caucasus Standard Time +4
Afghanistan Standard Time +4
West Asia Standard Time +5
Ekaterinburg Standard Time +5
Pakistan Standard Time +5
Qyzylorda Standard Time +5
India Standard Time +5
Sri Lanka Standard Time +5
Nepal Standard Time +5
Central Asia Standard Time +6
Bangladesh Standard Time +6
Omsk Standard Time +6
Myanmar Standard Time +6
SE Asia Standard Time +7
Altai Standard Time +7
W. Mongolia Standard Time +7
North Asia Standard Time +7
N. Central Asia Standard Time +7
Tomsk Standard Time +7
China Standard Time +8
North Asia East Standard Time +8
Singapore Standard Time +8
W. Australia Standard Time +8
Taipei Standard Time +8
Ulaanbaatar Standard Time +8
Aus Central W. Standard Time +8
Transbaikal Standard Time +9
Tokyo Standard Time +9
North Korea Standard Time +9
Korea Standard Time +9
Yakutsk Standard Time +9
Cen. Australia Standard Time +9
AUS Central Standard Time +9
E. Australia Standard Time +10
AUS Eastern Standard Time +10
West Pacific Standard Time +10
Tasmania Standard Time +10
Vladivostok Standard Time +10
Lord Howe Standard Time +10
Bougainville Standard Time +11
Russia Time Zone 10 +11
Magadan Standard Time +11
Norfolk Standard Time +11
Sakhalin Standard Time +11
Central Pacific Standard Time +11
Russia Time Zone 11 +12
New Zealand Standard Time +12
UTC+12 +12
Fiji Standard Time +12
Chatham Islands Standard Time +12
Kamchatka Standard Time +13
UTC+13 +13
Tonga Standard Time +13
Samoa Standard Time +13
Line Islands Standard Time +14
รหัสเพื่อรับความแตกต่างของเวลา:
DateTime dt = Convert.ToDateTime("2020-04-17T09:00:00");
Dictionary<string, int> zoneHour = new Dictionary<string, int>();
var infos = TimeZoneInfo.GetSystemTimeZones();
foreach (var info in infos)
{
zoneHour.Add(info.Id,
TimeZoneInfo.ConvertTimeBySystemTimeZoneId(dt, "UTC", info.Id).Subtract(dt).Hours
);
}
var zoneHourOrder = zoneHour.OrderBy(z => z.Value);
foreach (var kv in zoneHourOrder)
{
Console.WriteLine(kv.Key.PadRight(40) + (kv.Value > 0 ? "+" + kv.Value : kv.Value.ToString()));
}