我正在阅读API for the ZoneId
课程。它声明有三种ID:
具有某种形式前缀的偏移式ID。例子:
ZoneId.of("GMT+2");
ZoneId.of("UTC");
ZoneId.of("UT+01:00");
区为基础的。例子:
ZoneId.of("Asia/Aden");
ZoneId.of("Etc/GMT+9");
ZoneId.of("Asia/Aqtau");
但是第一种正确的语法是什么?文档说明
[来自ZoneOffset的ID]由'Z'和以'+'或' - '开头的ID组成。
我应该使用String和ZoneOffset
对象的组合来创建第一种ZoneId
?
答案 0 :(得分:11)
实际上有两个问题需要回答
就是这样:
ZoneId z;
z = ZoneId.of("Z"); //for UTC
z = ZoneId.of("+02:00");
z = ZoneId.of("-02:00");
here您可以找到完整列表
我错误地认为那是
'Z' AND 以“+”或“ - ”
开头的ID
意味着始终需要Z
前缀(以构成Z+02:00
之类的内容)。我认为 OR 会更合适。
ZoneOffset
对象的[需要]组合是什么?无需组合,您可以使用字符串或ZoneOffset
对象:
ZoneId z;
z = ZoneId.of("+02:00");
z = ZoneId.of(ZoneOffset.of("+02:00").getId());
答案 1 :(得分:0)
结合" UTC"和ZoneOffset对象来获取ZoneId
ZoneId z = ZoneId.ofOffset("UTC",ZoneOffset.UTC);
要获得更好的说明,请访问此链接http://www.java2s.com/Tutorials/Java/java.time/ZoneId/2180__ZoneId.ofOffset_String_prefix_ZoneOffset_offset_.htm