Добавить смещение часового пояса к локализованному часовому поясу

У меня была та же ошибка, но, поскольку файлы в /usr/lib/x86_64-linux-gnu/xorg/x11-extra-modules/ссылались на старые вещи, и поскольку этот вопрос подтвердил грубость, я переместил содержимое в каталог tmp в моем доме и сделал

systemctl restart gdm

Все работало отлично.

Я использовал nvidia -396 на Ubuntu 18.04 и смог перейти на драйвер 415.

1
10.02.2021, 09:17
2 ответа

Ubuntu и CentOS используют дату GNU, поэтому используйте опцию -d:

 $ date "+%Y%m%d %H:%M %Z"
20210209 10:09 EST

$ date -d "yesterday" "+%Y%m%d %H:%M %Z"
20210208 10:09 EST

Для получения дополнительной информации о том, как dateанализирует аргумент -d, прочитайте «Форматы ввода даты» вinfo date(или онлайн )

.

Просто напомню, что время странное, особенно с переходом на летнее время :на Кубе переход на летнее время происходит в полночь, в этом году (2021 )14 марта. Полночь в этот день действительно не существует:

$ env TZ=America/Havana date -d '2021-03-14'
date: invalid date ‘2021-03-14’

# but
$ env TZ=America/Havana date -d '2021-03-14 01:00:00'
Sun Mar 14 01:00:00 CDT 2021

И арифметика дат в днях может быть другой, чем в часах :давайте перейдем к 15 марта, а затем шаг назад во времени:

$ env TZ=America/Havana date -d '2021-03-15' '+%Y-%m-%d'
2021-03-15

$ env TZ=America/Havana date -d '2021-03-15 -1 day' '+%Y-%m-%d'
2021-03-14

$ env TZ=America/Havana date -d '2021-03-15 -24 hours' '+%Y-%m-%d'
2021-03-13

Почему? Поскольку 14 марта 2021 года на Кубе 23 часа, поэтому вычитание 24 часов дает 1 день и 1 час назад :

.
$ env TZ=America/Havana date -d '2021-03-15' '+%Y-%m-%d %T'
2021-03-15 00:00:00

$ env TZ=America/Havana date -d '2021-03-15 -1 day' '+%Y-%m-%d %T'
2021-03-14 01:00:00

$ env TZ=America/Havana date -d '2021-03-15 -24 hours' '+%Y-%m-%d %T'
2021-03-13 23:00:00

Это не ограничивается только Кубой. :любой часовой пояс с летним временем будет делать это в день, когда часы переводятся вперед.

1
18.03.2021, 22:31

Я не знаю, как это сделать с часовым поясом, но дату 24 часа назад можно показать следующим образом:

date -d @$(($(date +%s)-24*3600))

Выражает текущую дату в секундах с 1970 года date +%s, затем вычитает 24 часа. date -dотображает не текущую дату, а дату, определенную следующей строкой.

0
18.03.2021, 22:31

Теги

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