Как мне установить формат даты ISO в глобальном масштабе в Linux?


19

Я хотел бы глобально установить формат даты Linux на ISO, который выглядит примерно так:

YYYY-MM-DD HH:MM:SS
2009-03-16 15:20:00

С различными уровнями детализации, такими как пропуск времени, секунд и т. Д.

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

Я специально использую Ubuntu Intrepid, но общее решение, которое будет работать во всех дистрибутивах, будет лучшим.

Ответы:


11

Задайте для вашей переменной среды даты языкового стандарта LC_TIMEзначение "en_DK". Установите его в своем .bashrcили аналогичном формате или проверьте, man localeкак установить его для всей системы.

В ArchLinux все настройки Locale включены, /etc/rc.confа настройки настроены в/etc/rc.local

#!/bin/bash
# Local multi-user startup script
export LC_TIME="en_DK"

2
Я обнаружил, что в настоящее время (Ubuntu 12.04) вам нужно установить его на «en_DK.UTF8», но в остальном здорово знать, что датские люди используют нормальный формат даты ISO ;-).
pfalcon

3
@pfalcon - это не «английский в Дании», так как аббревиатуры заставили бы поверить, это просто фальшивка, название которой потеряно для меня ... см. ссылки на эту ошибку freebsd, которая, к сожалению, решила не принимать ее : freebsd.org/cgi/query-pr.cgi?pr=137870 сказал, что может быть очень хорошо, что в Дании все используют формат даты ISO.
gcb

@gcb: Так мы должны использовать en_DKили нет?
einpoklum

4
@einpoklum Это обходной путь для англоязычных стран. Не существует формата ISO для названий дней недели. Обсуждение этой ошибки для glibc весьма информативно (Вы должны прочитать, как Ульрих Дреппер был рассержен): sourceware.org/bugzilla/show_bug.cgi?id=4628
Sekenre

8

Это подробно объясняется в этом руководстве: http://ccollins.wordpress.com/2009/01/06/how-to-change-date-formats-on-ubuntu/


Я пошел и нашел ссылку, так как Prestiginate сказал, что он не может публиковать гиперссылки. И я действительно был там раньше, но я думаю, что никогда не удосужился сделать это на этой машине, заставив меня думать, что все, что я пробовал раньше, не работало.
Нил

Если кому-то нужна строка Unicode для дат ISO, так и есть <U002b><U0025><U0059><U002d><U0025><U004d><U002d><U0025><U0064>. Строка Python, которая делает это:''.join(['<U00{}>'.format(hex(b)[-2:]) for b in '+%Y-%M-%d'.encode('UTF-8')])
partofthething

3

Откройте locale.confс помощью вашего редактора

# $EDITOR /etc/locale.conf

и вставьте строку

TIME_STYLE=iso

после сохранения файла запустите

# locale-gen
# env-update && source /etc/profile

и проверить результат

# ls -al /home
drwxr-xr-x   8 root             root      4096 2011-12-2  .
...

2
Что это за дистрибутив? Например, в Ubuntu этот файл даже не существует.
0xC0000022L

@ 0xC0000022L это то же самое для Ubuntu, вот man-страница manpages.ubuntu.com/manpages/artful/man5/locale.conf.5.html
Джонас Стейн

Легкий день два с половиной года спустя и ссылка на версию, которая не существовала в 2014 или 2015 году;)
0xC0000022L

2

Некоторые люди посоветовали бы поменять местную на немецкую "en_DK" для такого рода работ, если вы не возражаете против того, чтобы названия дней и месяцев были на немецком языке. Так как я не могу публиковать гиперссылки, и эта доска объявлений рассматривает мои команды linux как гиперссылки .... (приятно) ... Я могу только сказать, что вы ищете (google) как изменить дату в форматах на ubuntu и нажимаете первая ссылка.


1
Он имел в виду эту ссылку: ccollins.wordpress.com/2009/01/06/…
Нил

2
en_DK тоже не немецкий язык, он датский.
GodEater

это ни то, ни другое. «en» - это английский. часть «DK» - это страна, которая устанавливает такие символы, как символы валют, форматы даты и десятичные разделители и т. д. Первая часть - это язык, который будет определять названия месяцев.
gcb

1

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

http://ccollins.wordpress.com/2009/01/06/how-to-change-date-formats-on-ubuntu/


Хотя это может теоретически ответить на вопрос, было бы предпочтительным включить здесь основные части ответа и предоставить ссылку для справки.
Дженни Д
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.