2013-04-25 2 views
5

я запускаю следующий Java-код:Странное поведение с Timezone

TimeZone tz1 = TimeZone.getTimeZone("Etc/GMT-3"); 
System.out.println(tz1.getDisplayName()); 

Дисплей GMT+03:00!

Похоже, что при использовании часовых поясов с идентификаторами, такими как Etc/GMTxx, знак обратный. Зачем ?

ответ

6

Это ETC стиль:

http://en.wikipedia.org/wiki/Zoneinfo

Особая зона "Etc" используется для некоторых административных зон, в частности, для "Etc/UTC", который представляет собой координированное универсальное время. Чтобы соответствовать стилю POSIX, имена этих зон, начинающиеся с «Etc/GMT», имеют знак, который отменяется от того, что ожидает большинство людей. В этом стиле зоны к западу от GMT имеют положительный знак, а у востока есть отрицательный знак от их имени (, например, «Etc/GMT-14» находится на 14 часов вперед/к востоку от GMT.)

Смежные вопросы