Як встановити формат дати в глобальному масштабі ISO?


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 усі налаштування локальної програми ввімкнено, /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/


Я пішов і знайшов посилання, оскільки престижна людина сказала, що не може публікувати гіперпосилання. І я насправді був там раніше, але, мабуть, я ніколи не намагався це робити на цій машині, змушуючи думати, що те, що я спробував раніше, не працювало.
Ніл

Якщо хто -то хоче рядок Unicode для дат ISO, це <U002b><U0025><U0059><U002d><U0025><U004d><U002d><U0025><U0064>. Лінія пітона, яка це робить, - це:''.join(['<U00{}>'.format(hex(b)[-2:]) for b in '+%Y-%M-%d'.encode('UTF-8')])
паркування

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, ось manpage 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.