Как перевести системные часы в UTC или localtime и наоборот?

Немного теории :

Системные часы.

Современные компьютеры используют часы реального времени, доступ к которым возможен с помощью утилит, либо через экран настройки BIOS, в ходе загрузки операционной системы. Системные часы инициализируются от аппаратных при загрузке операционной системы, и далее системное время поддерживаются с помощью регулярных прерываний от таймера. Например, в системе Linux текущее время можно узнать в командной строке с помощью команды date, а показания аппаратных часов — hwclock. Для установки времени по локальной сети или через Интернет может использоваться протокол NTP Разные операционные системы могут устанавливать системные часы в соответствии с локальным временем. В операционной системе Linux по умолчанию подразумевается, что часы установлены в соответствии с UTC — всемирным координированным временем[— в отличие от Windows, а уже показания времени в пользовательском интерфейсе зависят от выбранной временной зоны.

Точность времени зависит от многих факторов, таких как состояние аккумулятора, типа микросхемы и т. п. В случае сбоя питания дата и время обычно устанавливаются на год выпуска версии BIOS.

UTC или всемирное координированное время. UTC — это всемирное координированное время, стандарт времени, принятый на Земле. От UTC отсчитываются часовые пояса. UTC заменил устаревшее время по Гринвичу (GMT). UTC расшифровывается как Coordinated Universal Time (по-английски) или Temps universel coordonné (по-французски). Время по UTC не переводится на летнее. Поэтому в тех странах и территориях, где производится переход на летнее время, смещение относительно UTC изменяется дважды в год. UTC основан на международном атомном времени (TAI). TAI — это взвешенное среднее время, рассчитанное по показаниям свыше 200 атомных часов примерно в 70 научных лабораториях по всему миру.

Файл конфигурации — /etc/systemd/timesyncd.conf.

По умолчанию синхронизация не включена:

timedatectl status

Local time: Mon 2017-09-11 08:59:54 EEST Universal time: Mon 2017-09-11 05:59:54 UTC RTC time: Mon 2017-09-11 05:59:55 Time zone: Europe/Kiev (EEST, +0300) Network time on: no NTP synchronized: no RTC in local TZ: no

timedatectl set-ntp true

systemctl enable systemd-timesyncd

Важно: если установлена служба ntpd (ntp), то запуск юнит будет провален, для этого удалите ntp

apt purge ntp

Проверяем ещё раз:

timedatectl status

Local time: Mon 2017-09-11 09:27:12 EEST Universal time: Mon 2017-09-11 06:27:12 UTC RTC time: Mon 2017-09-11 06:27:13 Time zone: Europe/Kiev (EEST, +0300) Network time on: yes NTP synchronized: no RTC in local TZ: no
Network time on: yes NTP synchronized: no

Что бы включить синхронизацию — добавляем сервера NTP pool в файл /etc/systemd/timesyncd.conf :

1 [Time]

Секция время

2 NTP=0.ru.pool.ntp.org 1.ru.pool.ntp.org

Сервера времени первичные, все сервера указанные в настройках сетевых интерфейсов будет автоматически добавлены.

3 FallbackNTP=0.pool.ntp.org 1.pool.ntp.org 0.fr.pool.ntp.org

Резервные сервера, на случай если сервера из пункта 2 будет недоступны.

Как перевести системные часы в UTC или localtime и наоборот?

Localtime - это хранение в UEFI BIOS компьютера времени с учётом установленного в системе часового пояса. При определённых условиях это может вызывать проблемы с синхронизацией времени, а также работой нескольких операционных систем на одном компьютере.

UTC - это хранение в UEFI BIOS компьютера всемирного координированного времени по Гринвичу без учёта часовых поясов. Часовыми поясами управляет операционная система, что позволяет каждому пользователю в системе, а также приложениям использовать индивидуальные настройки.

Переключение аппаратных часов компьютера в UTC из localtime:

sudo timedatectl set-local-rtc no либо 0

Переключение аппаратных часов компьютера в localtime из UTC:

sudo timedatectl set-local-rtc yes либо 1

https://webcache.googleusercontent.com/search?q=cache:RLThbiiW4FYJ:https://wiki.astralinux.ru/display/~aabakumov/Systemd-timesyncd+&cd=3&hl=ru&ct=clnk&gl=ru