Настройка часового пояса в Linux


4

Я устанавливаю часовой пояс GMT + 6 на моем компьютере с Linux, скопировав файл zoneinfo /etc/localtime, но команда date показывает время UTCtime-6. В чем причина такого поведения?

Я предполагаю, что команда date должна отображать UTCtime + 6 раз. Вот шаги, за которыми я следую:

date
Wed Jan 22 17:29:01 IST 2014

date -u
Wed Jan 22 11:59:01 UTC 2014

cp /usr/share/zoneinfo/Etc/GMT+6 /etc/localtime

date
Wed Jan 22 05:59:21 GMT+6 2014

date -u
Wed Jan 22 11:59:01 UTC 2014

Дата показывает GMT + 6, ту же зону, что и зона, которую вы скопировали в / etc / localtime.

@mockinterface: Вы правы, но почему команда date показывает время меньше времени UTC?

Я думаю, что вы должны уточнить свой вопрос. Он имеет полный набор упомянутых часовых поясов IST / GMT + 6 / UTC-6 / UTC + 6 плюс две команды даты, которые вы называете «командой даты» - пожалуйста, будьте точны.

Я думаю, это достаточно ясно. В OP установлено стандартное время Индии, а в Индии - 17:29, что означает 11:59 UTC. затем OP изменяет только часовой пояс этой cpкомандой; UTC не затронут (как мы видим), но локализованное время сейчас 5:59 GMT + 6, хотя это должно быть 17:59 GMT + 6.
Алфе

1
Это Q был крест размещен на U & L , а также: unix.stackexchange.com/questions/110522/...
SLM

Ответы:


10

Такие зоны Etc/GMT+6намеренно меняются местами для обратной совместимости со стандартами POSIX. Смотрите комментарии в Википедии и в этом файле из tzdb .

Вы почти никогда не должны использовать эти зоны. Вместо этого вы должны использовать в полной мере с именем часового пояса , как America/New_Yorkи Europe/Londonили то , что подходит для вашего местоположения. Обратитесь к списку часовых поясов базы данных tz в Википедии .


Спасибо за ваш ответ, но я использую формат GMT + во встроенной системе и обнаружил такой тип поведения

Я не уверен, к чему ты клонишь. Вы спросили, почему это было наоборот, и вот почему.
Мэтт Джонсон-Пинт

3
Часовой пояс - это не то же самое, что смещение часового пояса . Вы не просто устанавливаете +6, вы устанавливаете, Etc/GMT+6что является очень специфической записью в данных zoneinfo, что означает «6 часов к западу от GMT», что обычно используется -6. Если вы действительно хотите, +6то вы должны установить зону, например Etc/GMT-6, или вы можете использовать именованную зону со смещением +6. Смотрите также тег часового пояса вики .
Мэтт Джонсон-Пинт
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.