我运行以下Java代码:
TimeZone tz1 = TimeZone.getTimeZone("Etc/GMT-3");
System.out.println(tz1.getDisplayName());
显示为GMT+03:00
!
似乎当我们使用带有Etc/GMTxx
等ID的时区时,符号会反转。为什么?
答案 0 :(得分:6)
那是ETC风格:
http://en.wikipedia.org/wiki/Zoneinfo
“Etc”的特殊区域用于某些管理区域,特别是代表协调世界时的“Etc / UTC”。为了符合POSIX风格,那些以“Etc / GMT”开头的区域名称与大多数人的期望相反。在这种风格中,格林威治标准时间以西的区域有一个正号,东方的名称有一个负号(例如“Etc / GMT-14”比格林威治标准时间提前14小时。)