В настоящее время, когда я выполняю команду date из bash, я получаю следующее сообщение
Thu May 17 12:21:00 IST 2012
Ниже приведен мой часовой пояс, основанный на выполнении dpkg-reconfigure tzdata
[ 110]
Есть идеи, как мне перейти с IST на UTC / GMT?
Есть идеи, как мне перейти с IST на GMT?
blockquote>Чтобы переключиться на UTC, просто выполните
sudo dpkg-reconfigure tzdata
, прокрутите список до конца списка Continents и выберитеEtc
илиNone of the above
; во втором списке выберитеUTC
. Если вы предпочитаете время по Гринвичу вместо UTC, в этом списке оно чуть выше UTC. :)
sudo timedatectl set-timezone UTC
Изменит ваш часовой пояс на UTC всей системы.
Вы можете сделать timedatectl list-timezones
, чтобы увидеть все доступные часовые пояса.
отрывок из ответа @ MattJohnson о SO
Зоны, подобные
Etc/GMT+6
, намеренно возвращены для обратной совместимости со стандартами POSIX. Смотрите комментарии в к этому файлу .Вам почти никогда не нужно использовать эти зоны. Вместо этого вы должны использовать полностью названный часовой пояс, такой как
BLOCKQUOTE>America/New_York
илиEurope/London
или любой другой, подходящий для вашего местоположения. См. Список здесь .
В старом стиле Un * x (SunOS, HPUX ...) вы можете сделать:
ln -fs /usr/share/zoneinfo/UTC /etc/localtime
Проверить содержимое / usr / share / zoneinfo, чтобы получить часовой пояс, который вам нужен / нужен .
Например, ирландское летнее время (IST) может быть определено как
-rw-r--r-- 1 root root 3661 Mar 13 22:18 /usr/share/zoneinfo/posix/Eire
или
lrwxrwxrwx 1 root root 13 Mar 13 22:18 /usr/share/zoneinfo/Europe/Dublin -> ../posix/Eire
. Однако наиболее важным является использование правильного эталона часов и ntp. daemon (например, openntpd), поскольку часовой пояс используется только для отображения / преобразования времени в строки, а не для его хранения (независимо от часового пояса, разница с 01.01.1970 везде одинакова на Земле).
Как-то так?
$ date
Wed Jul 16 22:52:47 EDT 2014
$ cat /etc/timezone
America/New_York
$ sudo dpkg-reconfigure tzdata
$ service cron stop && service cron start
Обновленный, чтобы 14.04 представил
Состояние времени и даты представления:
$ timedatectl status
Local time: Sun 2018-07-29 15:26:03 BST
Universal time: Sun 2018-07-29 14:26:03 UTC
RTC time: Sun 2018-07-29 14:26:03
Time zone: Europe/London (BST, +0100)
System clock synchronized: yes
systemd-timesyncd.service active: yes
RTC in local TZ: no
Список представления часовых поясов:
Перечисленные часовые пояса (425)
$ timedatectl list-timezones
Africa/Abidjan
Africa/Accra
Africa/Addis_Ababa
...
Pacific/Tongatapu
Pacific/Wake
Pacific/Wallis
UTC
Установите часовой пояс на UTC:
$ timedatectl set-timezone UTC
Состояние времени и даты представления:
$ timedatectl status
Local time: Sun 2018-07-29 14:46:27 UTC
Universal time: Sun 2018-07-29 14:46:27 UTC
RTC time: Sun 2018-07-29 14:46:27
Time zone: UTC (UTC, +0000)
System clock synchronized: yes
systemd-timesyncd.service active: yes
RTC in local TZ: no*
Если вам нужно это только для одной команды, скажем, ls
, используйте это:
TZ=UTC ls -l --full-time