Comment puis-je définir le format de date sur ISO globalement sous Linux?

19

Je voudrais définir globalement le format de date Linux sur ISO, qui ressemble à peu près à ceci:

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

Avec des niveaux de détails variables, tels que l'omission du temps, des secondes, etc.

Je sais que pour certaines applications, vous pouvez configurer cela manuellement, mais j'aimerais qu'il soit automatiquement défini pour chaque programme.

J'utilise spécifiquement Ubuntu Intrepid, mais une solution générale qui fonctionnerait sur toutes les distributions serait la meilleure.

Neil
la source

Réponses:

11

Définissez votre variable d'environnement de date locale LC_TIMEsur "en_DK". Définissez-la dans votre .bashrcou similaire, ou vérifiez man localecomment la définir à l'échelle du système.

Sur ArchLinux, tous les paramètres régionaux sont /etc/rc.confactivés et les personnalisations sont configurées dans/etc/rc.local

#!/bin/bash
# Local multi-user startup script
export LC_TIME="en_DK"
Sekenre
la source
2
J'ai trouvé que de nos jours (Ubuntu 12.04), vous devez le régler sur "en_DK.UTF8", mais sinon, super de savoir que les Danois utilisent un format de date ISO sain ;-).
pfalcon
3
@pfalcon ce n'est pas "anglais au Danemark" comme le font croire les abréviations, c'est faux, dont le nom est une blague qui m'est perdue ... voir les références de ce bug freebsd, qui a malheureusement décidé de ne pas l'adopter : freebsd.org/cgi/query-pr.cgi?pr=137870 cela dit, il se peut très bien qu'au Danemark tout le monde utilise le format de date ISO.
gcb
@gcb: Alors, devrions-nous utiliser en_DKou non?
einpoklum
4
@einpoklum C'est une solution de contournement pour les pays anglophones, il n'y a pas de format ISO pour les noms de semaine. La discussion sur ce bogue pour la glibc est assez informative (vous devez lire Ulrich Drepper en colère): sourceware.org/bugzilla/show_bug.cgi?id=4628
Sekenre
8

Il est expliqué en détail dans ce guide: http://ccollins.wordpress.com/2009/01/06/how-to-change-date-formats-on-ubuntu/

Neil
la source
Je suis allé et j'ai trouvé le lien depuis que prestiginate a dit qu'il ne pouvait pas poster d'hyperliens. Et je l'avais déjà été auparavant, mais je suppose que je n'ai jamais pris la peine de le faire sur cette machine, ce qui m'a fait penser que tout ce que j'avais essayé auparavant ne fonctionnait pas.
Neil
Si quelqu'un veut la chaîne Unicode pour les dates ISO, c'est le cas <U002b><U0025><U0059><U002d><U0025><U004d><U002d><U0025><U0064>. La ligne python qui fait cela est:''.join(['<U00{}>'.format(hex(b)[-2:]) for b in '+%Y-%M-%d'.encode('UTF-8')])
partofthething
3

Ouvrez locale.confavec votre éditeur

# $EDITOR /etc/locale.conf

et insérez la ligne

TIME_STYLE=iso

après avoir enregistré le fichier exécuté

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

et tester le résultat

# ls -al /home
drwxr-xr-x   8 root             root      4096 2011-12-2  .
...
Jonas Stein
la source
2
Quelle distribution est-ce? Sur Ubuntu, par exemple, ce fichier n'existe même pas.
0xC0000022L
@ 0xC0000022L c'est la même chose pour Ubuntu voici la page de manuel manpages.ubuntu.com/manpages/artful/man5/locale.conf.5.html
Jonas Stein
Facile à jour deux ans et demi plus tard et référençant une version qui n'existait pas en 2014 ou 2015;)
0xC0000022L
2

Certaines personnes conseillent de changer votre local en allemand "en_DK" ce genre de travaux si vous ne vous occupez pas des noms de jour et de mois étant en allemand. Puisque je ne peux pas poster d'hyperliens, et ce forum voit mes commandes linux comme des hyperliens .... (sympa) ... Je peux seulement dire que vous recherchez (google) comment-changer-date-formats-sur-ubuntu et cliquez le premier lien.

user7285
la source
1
Il voulait dire ce lien: ccollins.wordpress.com/2009/01/06/…
Neil
2
en_DK n'est pas non plus la langue allemande, c'est le danois.
GodEater
ce n'est ni l'un ni l'autre. "en" est l'anglais. la partie "DK" est le pays qui définit des éléments comme les symboles monétaires, les formats de date et les séparateurs décimaux, etc. La première partie est la langue, qui déterminerait les noms de mois.
gcb