Wie setze ich das Datumsformat unter Linux global auf ISO?

19

Ich möchte das Linux-Datumsformat global auf ISO setzen, was ungefähr so ​​aussieht:

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

Mit unterschiedlichen Detaillierungsgraden, z. B. Auslassen von Zeit, Sekunden usw.

Ich weiß, dass Sie dies für einige Anwendungen manuell konfigurieren können, aber ich möchte, dass es automatisch für jedes Programm festgelegt wird.

Ich verwende speziell Ubuntu Intrepid, aber eine allgemeine Lösung, die über alle Distributionen hinweg funktioniert, ist am besten.

Neil
quelle

Antworten:

11

Setzen Sie die Umgebungsvariable LC_TIMEfür das Datum Ihres Gebietsschemas auf "en_DK". Legen Sie sie in Ihrer .bashrcoder einer ähnlichen fest, oder prüfen Sie, man localewie Sie sie systemweit festlegen können.

Unter ArchLinux befinden sich alle /etc/rc.confLändereinstellungen in und Anpassungen werden in eingerichtet/etc/rc.local

#!/bin/bash
# Local multi-user startup script
export LC_TIME="en_DK"
Sekenre
quelle
2
Ich fand, dass man heutzutage (Ubuntu 12.04) "en_DK.UTF8" einstellen muss, aber ansonsten ist es gut zu wissen, dass dänische Leute ein vernünftiges ISO-Datumsformat verwenden ;-).
Pfalcon
3
@pfalcon es ist nicht "Englisch in Dänemark", wie die Abkürzungen vermuten lassen, es ist eine Täuschung, welcher Name ein Witz ist, der für mich verloren geht : freebsd.org/cgi/query-pr.cgi?pr=137870 Das heißt, es kann sehr gut sein, dass in Dänemark jeder das ISO-Datumsformat tho verwendet.
gcb
@gcb: Sollen wir also verwenden en_DKoder nicht?
einpoklum - wieder einzusetzen Monica
4
@einpoklum Es ist eine Problemumgehung für englischsprachige Länder. Es gibt kein ISO-Format für Wochentagsnamen. Die Diskussion über diesen Fehler für glibc ist sehr informativ (Sie müssen nachlesen, dass Ulrich Drepper wütend ist): sourceware.org/bugzilla/show_bug.cgi?id=4628
Sekenre
8

In diesem Handbuch wird dies ausführlich erläutert: http://ccollins.wordpress.com/2009/01/06/how-to-change-date-formats-on-ubuntu/

Neil
quelle
Ich bin hingegangen und habe den Link gefunden, da das Prestiginate sagte, er könne keine Hyperlinks posten. Und ich war tatsächlich schon einmal dort, aber ich glaube, ich habe mich nie darum gekümmert, es auf dieser Maschine zu tun, was auch immer ich versucht habe, hat nicht funktioniert.
Neil
Wenn jemand die Unicode-Zeichenfolge für ISO-Daten haben möchte, ist dies der Fall <U002b><U0025><U0059><U002d><U0025><U004d><U002d><U0025><U0064>. Die Python-Linie, die das macht, ist:''.join(['<U00{}>'.format(hex(b)[-2:]) for b in '+%Y-%M-%d'.encode('UTF-8')])
etwas
3

Öffnen Sie locale.confmit Ihrem Editor

# $EDITOR /etc/locale.conf

und füge die Zeile ein

TIME_STYLE=iso

nach dem speichern der datei laufen

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

und testen Sie das Ergebnis

# ls -al /home
drwxr-xr-x   8 root             root      4096 2011-12-2  .
...
Jonas Stein
quelle
2
Was ist das für eine Distribution? Unter Ubuntu existiert diese Datei beispielsweise nicht einmal.
0xC0000022L
@ 0xC0000022L es ist dasselbe für Ubuntu hier ist die manpage manpages.ubuntu.com/manpages/artful/man5/locale.conf.5.html
Jonas Stein
Leicht zu Tag zweieinhalb Jahre später und Verweis auf eine Version, die im Jahr 2014 oder 2015 nicht existierte;)
0xC0000022L
2

Einige Leute würden empfehlen, Ihr lokales in deutsches "en_DK" zu ändern, wenn Ihnen die deutschen Namen für Tag und Monat nichts ausmachen. Da ich keine Hyperlinks posten kann und dieses Board meine Linux-Befehle als Hyperlinks sieht ... (nett) ... kann ich nur sagen, dass Sie (google) suchen, wie Sie Datumsformate auf Ubuntu ändern und klicken der erste Link.

user7285
quelle
1
Er meinte diesen Link: ccollins.wordpress.com/2009/01/06/…
Neil
2
en_DK ist auch nicht das deutsche Gebietsschema, es ist dänisch.
GodEater
es ist weder. "en" ist englisch. Der Teil "DK" ist das Land, in dem Währungssymbole, Datumsformate und Dezimaltrennzeichen usw. festgelegt werden. Der erste Teil ist die Sprache, in der die Monatsnamen festgelegt werden.
GCB