Как мне установить часовой пояс на UTC-8

ll - это псевдоним для ls -l.

Опция -l указывает команде использовать формат длинного списка. Она выдает несколько столбцов, не показанных при использовании простой команды ls. Эти колонки включают:

  • Разрешения

  • Количество жестких ссылок

  • Владелец файла

  • Группа файлов

  • Размер файла

  • Модификация

  • Время

  • Имя файла

2
23.02.2019, 04:27
1 ответ

Вы не сказали, где вы устанавливаете этот часовой пояс, но вы можете придумать любое имя зоны, которое вам нравится, в переменной окружения TZ:

$ TZ='<UTC-8>+8' date
Fri Feb 22 19:25:36 UTC-8 2019

+8это потому, что POSIX, глупо, требует, чтобы смещения были обратными(возрастающими на запад ); часть в <...>является отображаемым именем и может быть любым отдельным словом. Если бы он был чисто алфавитным, угловые скобки не требовались бы, но они нужны -и 8.

$ TZ='<yesterday>24' date
Fri Feb 22 03:30:15 yesterday 2019
$ TZ='tomorrow-24' date
Sun Feb 24 03:30:26 tomorrow 2019

Если вы используете графический пользовательский интерфейс или другой инструмент выбора зоны -, он, вероятно, ищет в /usr/share/zoneinfoопределения зон, включенные в вашу систему. Если вы хотите, чтобы в этом списке отображалась другая зона, вам нужно создать подходящий файл zoneinfo и скопировать его на место. Инструментzicиспользуется для компиляции файлов zoneinfo из текстового формата , который является относительно простым (, особенно при простом изменении существующей зоны для изменения имени ).

В некоторых системах (, но не в Red Hat ), есть файл /etc/timezone, который глобально устанавливает часовой пояс в качестве имени, и вы можете использовать этот формат переменной TZв этом. Другие системы используют только /etc/localtime, который обычно является копией одного из файлов zoneinfo, поэтому вам также потребуется создать подходящий файл.

Для каждой -пользовательской или -сеансовой зоны можно использовать только переменную среды.


Если вы установите зону как « UTC-8» или какую-либо другую зону, которая специально не определена, она обрабатывается как две вещи,:во-первых, имя для зоны («UTC» :какая бы там ни была буквенная строка ), а во-вторых, смещение в ориентации POSIX (какое бы число там ни было ).Это означает, что TZ=UTC-8 dateвыведет что-то вроде

Sat Feb 23 11:50:01 UTC 2019

-, то есть сообщает время в Китае или Западной Австралии и считает, что зона называется «UTC» . Такое поведение глубоко сбивает с толку и раздражает, когда вы делаете опечатку. Это может быть причиной вывода, который вы включили в вопрос, но я не могу сказать.

Это анализируется как традиционный, в основном -устаревший формат часовых поясов POSIX RST6RDT5,M10.3.0/00:00:00,M2.4.0/00:00:00, который включает необязательные имена и смещения для стандартного и летнего времени, а также даты перехода между ними. У этого подхода есть много недостатков для любой нетривиальной -зоны, и он не отслеживает исторические изменения определения так, как это делают файлы зон.


«Правильно» использовать либо зону America/Los _Анджелес, которая отображается как PST, либо Etc/GMT+8, если вы не можете использовать название или не хотите использовать летнее время. изменения. GMT+8 отображает смещение как «-08» без текстовой метки. Иногда предположительно -правильное действие недостаточно хорошо, и в этом случае одно из вышеперечисленного должно быть в порядке.

2
27.01.2020, 22:08

Теги

Похожие вопросы