C#英国夏令时(BST)时区缩写

标签 c# .net timezone

我需要显示带有当前时区缩写的标签。我电脑的时区当前设置为“(GMT) 格林威治标准时间:都柏林、爱丁堡、里斯本、伦敦”。因此,我希望看到显示 BST,因为 LN 当前处于英国夏令时。

看起来该信息(时区缩写)不可用。查看 GMT TimeZoneInfo,关于名称我只能看到

Id  "GMT Standard Time"
StandardName    "GMT Standard Time"
DaylightName    "GMT Daylight Time"

有什么方法可以从“GMT 夏令时”或任何其他可用的 Windows 时区信息获取 BST?

最佳答案

TimeZoneInfo 类将“英国夏令时”称为“GMT 夏令时”,所以不,这是不可能的。如果 Microsoft 将其存储为“BST”,它将位于 DaylightName 属性中。

虽然多年前在 BCL 博客上关注 TimeZoneInfo 类的开发,但我没有看到他们如何选择 DaylightName 值的背后的任何解释。如果我猜的话,那是因为这是针对“时区”而不是特定城市。

看来公共(public)领域 tzdatabase被认为比 Microsoft 的时区数据库更完整,确实显示伦敦的 BST ( source )。这是因为此数据集中包含城市,而不仅仅是时区。 有一个名为 Noda Time 的项目将 tz 数据库带到现在可用的 .Net。

关于C#英国夏令时(BST)时区缩写,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10126252/

相关文章:

c# - 如何在 WCF REST 服务中有可选参数?

c# - 我们可以锁定目录吗?

c# - 如何在 C# 中通过 ref 传递它?

java - IKVM 的 Map.xml 中的字符串和复杂数据类型!

Python - 如何从 RSS 提要获取时区

Java SimpleDateFormat.parse 抛出 : Unparseable date: "2015-10-06T08:00:00+00:00" (at offset 10)

c# - 使用 MVVM,我们应该在哪里调用来启用或禁用 UI?

c# - LiteralExpression - ArgumentOutOfRangeException

c# - 为 CQRS 实现包装 Masstransit 是一个好习惯吗?

.net - .NET 往返服务器中的时区和夏令时