gpt4 book ai didi

c# - 如何获取 TimeZoneInfo 简称

转载 作者:可可西里 更新时间:2023-11-01 08:09:55 24 4
gpt4 key购买 nike

有什么方法可以从中获取3个字符的代码系统.TimeZoneInfo.Local?

例如EDT 而不是东部夏令时等

最佳答案

不幸的是,据我所知,没有简单的内置方法可以做到这一点。但是,您可以自己组装一些东西。这是一个例子:

public static class TimeZoneInfoExtensions {

public static string Abbreviation(this TimeZoneInfo Source) {

var Map = new Dictionary<string, string>()
{
{"eastern standard time","est"},
{"mountain standard time","mst"},
{"central standard time","cst"},
{"pacific standard time","pst"}
//etc...
};

return Map[Source.Id.ToLower()].ToUpper();

}

}

使用如下:

string CurrentTimeZoneAbbreviation = System.TimeZoneInfo.Local.Abbreviation();

如果您需要更多转换,您可以将它们插入 map 字典。

TimeZoneInfo.Id 将是一个与 [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Time Zones] 中给定键匹配的字符串。如果您可以在线找到匹配的数据库,其中包含相同的 ID 和缩写,则可以快速提取和导入这些对(例如使用正则表达式)并将它们放入 Map 字典中。

关于c# - 如何获取 TimeZoneInfo 简称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1402544/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com