【发布时间】:2015-06-12 19:24:02
【问题描述】:
我正在尝试使用 java.time 从时区(亚洲/亚丁)获取 UTC 偏移量。
查看以下错误:
scala> val a = ZoneId.of("Asia/Aden")
a: java.time.ZoneId = Asia/Aden
scala> ZoneOffset.of(a)
<console>:13: error: type mismatch;
found : java.time.ZoneId
required: String
ZoneOffset.of(a)
^
scala> val as = a.getId
as: String = Asia/Aden
scala> ZoneOffset.of(as)
java.time.DateTimeException: Invalid ID for ZoneOffset, non numeric characters found: Asia/Aden
at java.time.ZoneOffset.parseNumber(ZoneOffset.java:269)
at java.time.ZoneOffset.of(ZoneOffset.java:236)
... 33 elided
【问题讨论】:
-
java.time.ZoneId.normalized()?它应该返回一个ZoneOffset,如果它是一个固定区域,你可以模式匹配/asInstanceOf。 -
我相信
ZoneOffset.of需要+0200字符串或类似的东西,而不是ZoneIdid。
标签: scala utc timezone-offset