LINUX.ORG.RU

Что показывает команда date ?

 


1

1

Помогите, что-то туплю по жесткому с настройкой времени.

Под VMWare установлено:

#cat /etc/debian_version
jessie/sid
#uname -a
Linux VirtualRouter 3.2.0-3-686-pae #1 SMP Thu Jun 28 08:56:46 UTC 2012 i686 GNU/Linux

Таймзона настроена с помощью dpkg-reconfigure tzdata на GMT+4:

# cat /etc/timezone
Etc/GMT+4

Когда проверяю аппаратные часы, вроде все нормально, разница положенные +4 часа:

# hwclock --utc
Wed Jun 18 15:45:10 2014  -1.044558 seconds
# hwclock --localtime
Wed Jun 18 19:45:13 2014  -1.047445 seconds

А вот команда date выдает что-то непонятное:

# date --utc
Wed Jun 18 23:45:15 UTC 2014
# date
Wed Jun 18 19:45:17 GMT+4 2014

То есть, как будто в другую сторону, в минус, сдвинуто на те же 4 часа. Вопрос соответственно, как это понимать?

Соответственно сюда же:

# TZ=GMT     date --date="19:48:00 GMT"
Thu Jun 19 19:48:00 GMT 2014
# TZ=GMT+4   date --date="19:48:00 GMT"
Wed Jun 18 15:48:00 GMT 2014

Как я понимаю, эти команды должны показать, какое время увидят наблюдатели из GMT и из GMT+4, в тот момент когда на гринвиче будет 19:48:00. Команда date считает, что наблюдатель из GMT должен увидеть те же 19:48:00, что вобщем-то понятно. А вот почему она считает, что наблюдатель из GMT+4 должен увидеть 15:48:00 я понять не могу.

Ответ на: комментарий от ziemin

Делал, не помогает.

Помогает если через dpkg-reconfigure tzdata поставить GMT-4, но тогда ломается все остальное.

e226329
() автор топика

Насколько я помню, в POSIX когда-то перепутали минус с плюсом, и зоны GMT* считаются в обратные стороны. Ты либо помнишь об этом, либо используешь «именованные» зоны.

Gotf ★★★
()

Используй GMT-4 или лучше Europe/Moscow.

generator ★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.