【问题标题】:looking up time zone standard name by abbreviation in .Net在.Net中通过缩写查找时区标准名称
【发布时间】:2015-07-17 08:31:18
【问题描述】:

给定一个“EST”字符串,.net (c#) 中是否有办法查找标准名称字符串,如“东部标准时间”作为回报?我知道 TimeZoneInfo 对象具有 StandardName 字段,但我不能将它与缩写相关联。

我希望在不访问外部网络服务的情况下严格地在 .net 中进行查找。

【问题讨论】:

  • EST 是欧洲标准时间 ;)

标签: c# datetime timezone


【解决方案1】:

给定一串“EST”,.net 中有没有办法查找 像“东部标准时间”这样的标准名称字符串作为回报?

在 .Net Framework 中,没有。时区名称的缩写没有标准。也很难做一个。

例如可以表示CST;

  • 中国标准时间
  • 中部标准时间(北美)
  • 中部标准时间(澳大利亚)
  • 中部夏令时间(澳大利亚)(使用 3 个时区,但..)

据我所知,NodaTime 都支持 Windows 时区和 IANA/Olson 时区 mapping。另外Matt Johnson 创建了TimeZoneNames,这是为了防止时区名称及其本地化名称不明确。您可能想检查这些选项。

【讨论】:

  • TimeZoneNames 主要用于生成显示的名称或缩写。不适用于解析缩写为时区的其他方向。从理论上讲,如果您有一个缩写词和一个国家/地区代码,大部分情况下都可以完成,但仍然会有一些模棱两可的边缘情况。
  • @MattJohnson 哦。我想既然有TimeZoneNames.GetAbbreviationsForTimeZone 这样的方法,也许is 也有一个方法也在做相反的事情。但是,当然,正如您所说,即使我们将它们与国家代码一起使用,模棱两可的情况也可能总是存在。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2013-08-26
  • 2011-02-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-11-30
相关资源
最近更新 更多