如何获取用作时区初始化程序的 tzdb 中的字符串列表?
How do I get the list of strings in tzdb used as time zone initializer?
所以我是 NodaTime 的新手,并尝试使用它来使用 DateTimeZone 对象存储时区信息。
我在用户指南等中看到了下面的示例,它给了我一个来自 tzdb 的不错的 DateTimeZone 对象,这很棒。
var london = DateTimeZoneProviders.Tzdb["Europe/London"];
我的问题是 - 如何获取在 tzdb 中使用的时区字符串列表 ("Europe/London")。我环顾四周,无处可寻。有没有我可以参考的标准列表?这是如何运作的?前任。 - 我应该为 EST 传递的字符串是什么?
谢谢!
要以编程方式获取时区 ID,请使用 IDateTimeZoneProvider
中的 Ids
属性。例如,要查找所有区域:
var provider = DateTimeZoneProviders.Tzdb;
foreach (var id in provider.Ids)
{
var zone = provider[id];
// Use the zone
}
对于东部时间,您可能需要 America/New_York。
更一般地说,这些标识符是来自 IANA 的标识符 - 它们是大多数非 Windows 系统中使用的标识符。
所以我是 NodaTime 的新手,并尝试使用它来使用 DateTimeZone 对象存储时区信息。
我在用户指南等中看到了下面的示例,它给了我一个来自 tzdb 的不错的 DateTimeZone 对象,这很棒。
var london = DateTimeZoneProviders.Tzdb["Europe/London"];
我的问题是 - 如何获取在 tzdb 中使用的时区字符串列表 ("Europe/London")。我环顾四周,无处可寻。有没有我可以参考的标准列表?这是如何运作的?前任。 - 我应该为 EST 传递的字符串是什么?
谢谢!
要以编程方式获取时区 ID,请使用 IDateTimeZoneProvider
中的 Ids
属性。例如,要查找所有区域:
var provider = DateTimeZoneProviders.Tzdb;
foreach (var id in provider.Ids)
{
var zone = provider[id];
// Use the zone
}
对于东部时间,您可能需要 America/New_York。
更一般地说,这些标识符是来自 IANA 的标识符 - 它们是大多数非 Windows 系统中使用的标识符。