我应该传入什么值TimeZoneInfo.FindSystemTimeZoneById(string)?
我想使用TimeZoneInfo.FindSystemTimeZoneById(String)
方法,但我不知道用什么值作为input?
我在哪里可以得到FindSystemTimeZoneById
所需的id
的值列表?
这里是Windows 8中的列表(我从Windowsregistry中提取)
阿富汗标准时间 阿拉斯加标准时间 阿拉斯加标准时间\dynamicDST 阿拉伯标准时间 阿拉伯标准时间 阿拉伯标准时间 阿拉伯标准时间\dynamicDST 阿根廷标准时间 阿根廷标准时间\dynamicDST 大西洋标准时间 大西洋标准时间\dynamicDST 澳大利亚中部标准时间 澳洲东部标准时间 AUS东部标准时间\dynamicDST 阿塞拜疆标准时间 亚速尔群岛标准时间 亚速尔群岛标准时间\dynamicDST 巴伊亚标准时间 巴伊亚标准时间\dynamicDST 孟加拉国标准时间 孟加拉国标准时间\dynamicDST 加拿大中部标准时间 佛得angular标准时间 高加索标准时间 高加索标准时间\dynamicDST 岑。 澳大利亚标准时间 岑。 澳大利亚标准时间\dynamicDST 中美洲标准时间 中亚标准时间 巴西中部标准时间 巴西中部标准时间\dynamicDST 中欧标准时间 中欧标准时间 中太平洋标准时间 中央标准时间 中央标准时间\dynamicDST 中部标准时间(墨西哥) 中国标准时间 date线标准时间 E.非洲标准时间 E.澳大利亚标准时间 E.欧洲标准时间 E.南美标准时间 E.南美标准时间\dynamicDST 东部标准时间 东部标准时间\dynamicDST 埃及标准时间 埃及标准时间\dynamicDST 叶卡捷琳堡标准时间 叶卡捷琳堡标准时间\dynamicDST 斐济标准时间 斐济标准时间\dynamicDST FLE标准时间 格鲁吉亚标准时间 GMT标准时间 格陵兰标准时间 格陵兰标准时间\dynamicDST 格林威治标准时间 GTB标准时间 夏威夷标准时间 印度标准时间 伊朗标准时间 伊朗标准时间\dynamicDST 以色列标准时间 以色列标准时间\dynamicDST 约旦标准时间 约旦标准时间\dynamicDST 加里宁格勒标准时间 加里宁格勒标准时间\dynamicDST 堪察加标准时间 韩国标准时间 利比亚标准时间 利比亚标准时间\dynamicDST 马加丹标准时间 马加丹标准时间\dynamicDST 毛里求斯标准时间 毛里求斯标准时间\dynamicDST 大西洋中部标准时间 中东标准时间 中东标准时间\dynamicDST 蒙得维的亚标准时间 蒙得维的亚标准时间\dynamicDST 摩洛哥标准时间 摩洛哥标准时间\dynamicDST 山标准时间 山标准时间\dynamicDST 山区标准时间(墨西哥) 缅甸标准时间 N.中亚标准时间 N.中亚标准时间\dynamicDST 纳米比亚标准时间 纳米比亚标准时间\dynamicDST 尼泊尔标准时间 新西兰标准时间 新西兰标准时间\dynamicDST 纽芬兰标准时间 纽芬兰标准时间\dynamicDST 北亚东部标准时间 北亚东部标准时间\dynamicDST 北亚标准时间 北亚标准时间\dynamicDST 太平洋标准时间 太平洋SA标准时间\dynamicDST 太平洋标准时间 太平洋标准时间\dynamicDST 太平洋标准时间(墨西哥) 巴基斯坦标准时间 巴基斯坦标准时间\dynamicDST 巴拉圭标准时间 巴拉圭标准时间\dynamicDST 浪漫标准时间 俄罗斯标准时间 俄罗斯标准时间\dynamicDST SA东部标准时间 SA太平洋标准时间 SA西部标准时间 萨摩亚标准时间 萨摩亚标准时间\dynamicDST 东南亚标准时间 新加坡标准时间 南非标准时间 斯里兰卡标准时间 叙利亚标准时间 叙利亚标准时间\dynamicDST 台北标准时间 塔斯马尼亚标准时间 塔斯马尼亚标准时间\dynamicDST 东京标准时间 汤加标准时间 土耳其标准时间 土耳其标准时间\dynamicDST 乌兰巴托标准时间 美国东部标准时间 美国东部标准时间\dynamicDST 美国山标准时间 世界标准时间 UTC + 12 UTC-02 UTC-11 委内瑞拉标准时间 委内瑞拉标准时间\dynamicDST 符拉迪沃斯托克标准时间 符拉迪沃斯托克标准时间\dynamicDST W.澳大利亚标准时间 W.澳大利亚标准时间\dynamicDST W.中非标准时间 W.欧洲标准时间 西亚标准时间 西太平洋标准时间 雅库茨克标准时间 雅库茨克标准时间\dynamicDST
您可以从TimeZoneInfo
类的静态列表中获取它们
var infos = TimeZoneInfo.GetSystemTimeZones(); foreach (var info in infos) { Console.WriteLine(info.Id); }
例:
var tzInfo = TimeZoneInfo.FindSystemTimeZoneById("New Zealand Standard Time");
或者,如果你只是想要一个时区id列表像DJ KRAZEbuild议
var timeZoneIds = TimeZoneInfo.GetSystemTimeZones().Select(t => t.Id);
看一下TimeZoneInfo
TimeZoneInfo.GetSystemTimeZones()
方法的静态方法。
这将从registry中返回操作系统上所有TimeZoneInfo
的列表。 它们全部存储在: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Time Zones
。
例如“都柏林,爱丁堡,里斯本,伦敦”时区的“GMT标准时间”。
可用的时区是:
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.GetSystemTimeZones()
来find您想要使用的string。 也就是说,如果只有时间差的信息(例如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);
完整的列表可以在MSDN网站上find:
时区ID(精简版2013)