Появляется команда date для игнорирования настроек локали
Что я хочу сделать, это установить переменную окружения локали (LC_TIME
Я думаю) к чему то date
вывод в хорошем формате ISO.
Посмотрев на некоторые другие вопросы и ответы по Stack Exchange, вроде этого, я понял, что я на правильном пути, и что я использую en_DK
язык должен делать то, что я хочу.
Но LC_TIME=en_DK date
по-прежнему дает мне тот же формат даты, что и раньше. Я тоже пробовал настройку LANG
а также LC_ALL
и установив их en_DK.UTF-8
тоже, и они не имеют никакого эффекта. Просто для проверки работоспособности я попытался установить все эти ru_RU
или же ru_RU.UTF-8
поскольку они будут иметь более очевидный эффект, но все равно не изменится.
Я обнаружил, что есть пакет под названием language-pack-ru
и установил это, а также побежал sudo update-locale
а также sudo dpkg-reconfigure locales
, но все еще без изменений. Я не нашел language-pack-dk
, мой /usr/share/i18n/SUPPORTED
файл имеет en_DK.UTF-8 UTF-8
, en_DK.ISO-8859-15 ISO-8859-15
, en_DK ISO-8859-1
так, насколько я могу сказать, я должен быть установлен.
Что мне не хватает?
2 ответа
Похоже, date
Команда без аргументов выводит локаль "date_fmt", которая не в формате ISO 8601 в локали en_DK. Вы можете получить желаемый результат, добавив аргумент FORMAT - что-то вроде:
LC_TIME=en_DK.UTF-8 date +'%x %X'
Пожалуйста, смотрите man date для дальнейших последовательностей FORMAT.
Для дат в формате ISO
date
также имеет
-I
вариант:
-I[FMT], --iso-8601[=FMT] output date/time in ISO 8601 format. FMT='date' for date only (the default), 'hours', 'minutes', 'seconds', or 'ns' for date and time to the indicated precision.
Точность может быть сокращена:
-Ih
вместо
-Ihours
, так далее.
$ date -I
2021-04-04
$ date -Ih
2021-04-04T17+02:00
$ date -Im
2021-04-04T17:37+02:00
$ date -Is
2021-04-04T17:37:34+02:00