Come posso impostare il formato della data su ISO a livello globale in Linux?


19

Vorrei impostare globalmente il formato della data di Linux su ISO, che assomiglia più o meno a questo:

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

Con diversi livelli di dettaglio, come omettere il tempo, i secondi, ecc.

So che per alcune applicazioni è possibile configurarlo manualmente, ma mi piacerebbe che fosse impostato automaticamente per ogni programma.

Sto specificamente usando Ubuntu Intrepid, ma una soluzione generale che funzionerebbe in tutte le distribuzioni sarebbe la migliore.

Risposte:


11

Imposta la variabile di ambiente della tua data locale LC_TIMEsu "en_DK" Impostala nella tua .bashrco simile, oppure controlla man localecome impostarla a livello di sistema.

Su ArchLinux sono presenti tutte le impostazioni locali /etc/rc.confe sono configurate le personalizzazioni/etc/rc.local

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

2
Ho scoperto che oggigiorno (Ubuntu 12.04) è necessario impostarlo su "en_DK.UTF8", ma per il resto è bello sapere che le persone danesi usano un formato di data ISO sano ;-).
falco

3
@pfalcon non è "inglese in Danimarca" come le abbreviazioni potrebbero far credere, è finto, il cui nome è uno scherzo che mi è perso ... vedi i riferimenti a questo bug di freebsd, che purtroppo ha deciso di non adottarlo : freebsd.org/cgi/query-pr.cgi?pr=137870 detto questo, potrebbe essere molto bene che in Danimarca tutti usino il formato data ISO tho.
CG

@gcb: Quindi dovremmo usare en_DKo no?
einpoklum,

4
@einpoklum È una soluzione alternativa per i paesi di lingua inglese, non esiste un formato ISO per i nomi dei giorni feriali. La discussione su questo bug per glibc è piuttosto istruttiva (devi leggere Ulrich Drepper arrabbiato): sourceware.org/bugzilla/show_bug.cgi?id=4628
Sekenre

8

Sono andato e ho trovato il link poiché prestiginato ha detto che non poteva pubblicare hyperlink. E in realtà ero già stato lì prima, ma immagino di non essermi mai preoccupato di farlo su questa macchina, facendomi pensare che qualunque cosa abbia provato prima non ha funzionato.
Neil,

Se qualcuno vuole la stringa Unicode per le date ISO, lo è <U002b><U0025><U0059><U002d><U0025><U004d><U002d><U0025><U0064>. La linea di pitone che rende questo è:''.join(['<U00{}>'.format(hex(b)[-2:]) for b in '+%Y-%M-%d'.encode('UTF-8')])
partofthethinghing

3

Apri locale.confcon il tuo editor

# $EDITOR /etc/locale.conf

e inserisci la linea

TIME_STYLE=iso

dopo aver salvato l'esecuzione del file

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

e testare il risultato

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

2
Che distro è quella? Su Ubuntu, ad esempio, quel file non esiste nemmeno.
0xC0000022L

@ 0xC0000022L è lo stesso per Ubuntu: ecco la manpage manpages.ubuntu.com/manpages/artful/man5/locale.conf.5.html
Jonas Stein,

Facile passare al secondo giorno e mezzo anni dopo e fare riferimento a una versione che non esisteva nel 2014 o 2015;)
0xC0000022L

2

Alcune persone consigliano di cambiare questo tipo di opere "en_DK" in tedesco se non ti dispiace che i nomi dei giorni e dei mesi siano in tedesco. Dal momento che non riesco a pubblicare collegamenti ipertestuali, e questa scheda vede i miei comandi linux come collegamenti ipertestuali .... (bello) ... Posso solo dire che cerchi (google) come-cambiare-formati-data-su-ubuntu e fare clic il primo link.


1
Intendeva questo link: ccollins.wordpress.com/2009/01/06/…
Neil,

2
en_DK non è neanche il locale tedesco, è danese.
GodEater,

non è nessuno dei due. "en" è inglese. la parte "DK" è il paese che imposta elementi come simboli di valuta, formati di data e separatori decimali, ecc. La prima parte è la lingua, che determinerebbe i nomi dei mesi.
gcb,

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.