当我检查此属性...不一致区域标识野田
var t = DateTimeZoneProviders.Tzdb.Ids;
...它包含的值,例如:
- 美国/阿拉斯加
- 美国/东部
- 美国/夏威夷
- 美国/太平洋
- 美国/亚利桑那州
- 美国/丹佛
- 美国/芝加哥
- 美国/凤凰
- 美国/ Los_Angelos
但是,当我访问MapZones,所有的 “US” 条目消失:
var mappings = TzdbDateTimeZoneSource.Default.WindowsMapping.MapZones;
var stuff = mappings.SelectMany(w => w.TzdbIds)
.Where(v => v.StartsWith("America") || v.StartsWith("US"));
在上面的例子中,它确实返回了“美国”条目 - 例如“America/Phoenix” - 但所有的“US”条目都没有了。
为什么?
诸如“美国/东部”或“美国/太平洋”之类的“美国”值是地图中最重要的值之一 - 但它们不在那里。我不明白。