【发布时间】:2014-02-05 17:04:49
【问题描述】:
目前我正在使用 NodaTime 从国家/地区获取时区,但问题是一个国家/地区是否有多个时区。我怎么知道那个时区的城市列表? 我需要知道这两个数据之间的映射。 NodaTime 可以吗?
【问题讨论】:
-
我认为 Noda 支持美国的时代,所以它认为这是可能的。查看msdn.microsoft.com/en-us/magazine/jj991981.aspx 并搜索 America/Vancouver 以查看示例。
-
你的问题没有多大意义。 Noda Time 不允许您获取一个国家/地区的 时区,只能获取时区标识符,例如“America/Los_Angeles”的 IANA (tzdb) 区域或 Windows (bcl) 区域“太平洋标准时间”。当然,您可以按国家/地区过滤可用区域列表。那是你想要做的吗?如果有,请看我写的函数in this answer。
-
@MattJohnson 抱歉最近回复。实际上,我通过循环遍历 TzdbDateTimeZoneSource.Default.ZoneLocations 来映射国家,然后通过检查 TzdbDateTimeZoneSource.Default.WindowsMapping.MapZones 是否包含 TzdbDateTimeZoneSource.Default.ZoneLocations(i).ZoneId 来映射时区。但我目前的问题是我想找到出发和到达城市的时区。这就是为什么我想知道如何跟踪哪个城市在哪个时区。