我无法将joda时区映射到Windows时区 .
我使用CLDR mappings的xml,它适用于大多数翻译 .
尽管如此,它没有几个joda时区的 Value :
美国/印第安纳州/印第安纳波利斯,BST,澳大利亚/维多利亚,环球,澳大利亚/新南威尔士州,美国/ Fort_Wayne,非洲/阿斯马拉,美国/肯塔基州/路易斯维尔,亚洲/喀什,美国/太平洋,澳大利亚/西部,澳大利亚/昆士兰州,澳大利亚/南,美国/东部,美国/中部,美国/亚利桑那州,澳大利亚/塔斯马尼亚州,新西兰,美国/山区,澳大利亚/ Eucla,GMT,日本,CAT,等等/ GMT 0,CST,PST,EST,澳大利亚/堪培拉,墨西哥/将军,以色列,加拿大/东部,等等/格林威治标准时间9,加拿大/中部,澳大利亚/北部
我在哪里可以找到这些joda时区与windows时区之间的映射?
1 回答
使用纯CLDR数据:
如果它不是
alias
字段中的第一个条目,则使用第一个条目 . 例:您可以将
Australia/Victoria
视为第二项,因此它是Australia/Melbourne
的别名 . 请注意CLDR 's canonical zones are not exactly matched to TZDB'的规范定义,因此请使用这些CLDR映射 - 而不是来自tzdb的link
条目 .type
字段包含一个或多个tzdb区域 .other
字段包含相应的Windows区域 .请注意,并非所有tzdb区域都具有有效的相应Windows区域,有些区域不是完美的映射 .
不完美映射示例:
America/Havana
=>Eastern Standard Time
DST过渡日对齐,但古巴在午夜而不是凌晨2点过渡
不可映射区域示例:
Australia/Lord_Howe
存在于timezone.xml中,但不存在于windowsZones.xml中 .
此位置目前没有Windows时区条目 .
您的列表中有一些项目(
BST
,CAT
,CST
,PST
),这些项目无效tzdb区域,即使是Joda-Time's list . 这些可以是缩写或规则名称,但它们不是区域标识符 .