Je viens de passer environ deux heures à chercher cette réponse qui me turlupine depuis des années et je l'ai enfin trouvée !!!
Par défaut date
produit une date dans le format de la locale actuelle, comme par exemple en_GB.UTF-8
o en_AU.UTF-8
o de_DE.UTF-8
etc.
Votre locale par défaut semble être similaire à la mienne et affiche les dates au format :
date_fmt "%a %e %b %H:%M:%S %Z %Y"
Malheureusement, c'est l'un des rares formats que la commande date ne peut pas comprendre. Cependant, si Peut comprendre un format très similaire
date_fmt "%a %e %b %Y %H:%M:%S %Z"
"Fri 29 Jan 2016 22:04:26 GMT" Travaux
"Fri 29 Jan 22:04:26 GMT 2016" Ne le fait pas
Pourquoi les paramètres linguistiques en_GB.UTF-8 et en_AU.UTF-8, très couramment utilisés, utilisent un format qui date
ne sait pas lire Je ne sais pas mais il est très facile de le modifier pour qu'il ne vous dérange plus, du moins jusqu'à ce que vous réinstalliez votre système ou que vos définitions soient écrasées par une mise à jour trop zélée >:-(
Comment personnaliser le format de date de votre région en trois étapes
J'ai trouvé les informations suivantes ici :
1. Vérifiez la locale que vous utilisez
Vérifiez d'abord la locale utilisée par votre système pour le format de l'heure et de la date.
$ locale
LANG=en_AU.UTF-8
LANGUAGE=en_AU
LC_CTYPE="en_AU.UTF-8"
LC_NUMERIC=en_AU.UTF-8
LC_TIME=en_AU.UTF-8
LC_COLLATE="en_AU.UTF-8"
LC_MONETARY=en_AU.UTF-8
LC_MESSAGES="en_AU.UTF-8"
LC_PAPER=en_AU.UTF-8
LC_NAME=en_AU.UTF-8
LC_ADDRESS=en_AU.UTF-8
LC_TELEPHONE=en_AU.UTF-8
LC_MEASUREMENT=en_AU.UTF-8
LC_IDENTIFICATION=en_AU.UTF-8
LC_ALL=
Notez le LC_TIME= entrée. Le mien est anglais australien : en_AU.UTF-8 le vôtre pourrait être en_GB_UTF-8
2. Modifier la définition de la locale
Ouvrez un terminal et éditez la définition de la locale appropriée
$ sudo nano /usr/share/i18n/locales/{LC_Time}
par exemple
$ sudo nano /usr/share/i18n/locales/en_AU
Faites défiler la page jusqu'à la section LC_TIME, voici la mienne :
LC_TIME
abday "Sun";"Mon";"Tue";"Wed";"Thu";"Fri";"Sat"
day "Sunday";/
"Monday";/
"Tuesday";/
"Wednesday";/
"Thursday";/
"Friday";/
"Saturday"
abmon "Jan";"Feb";/
"Mar";"Apr";/
"May";"Jun";/
"Jul";"Aug";/
"Sep";"Oct";/
"Nov";"Dec"
mon "January";/
"February";/
"March";/
"April";/
"May";/
"June";/
"July";/
"August";/
"September";/
"October";/
"November";/
"December"
d_t_fmt "%a %d %b %Y %T %Z"
d_fmt "%d//%m//%y"
t_fmt "%T"
am_pm "AM";"PM"
t_fmt_ampm "%I:%M:%S %p"
date_fmt "%a %e %b %Y %H:%M:%S %Z"
week 7;19971130;1
END LC_TIME
Tout ce que vous devez changer est le date_fmt
entrada
J'ai changé le mien de : date_fmt "%a %e %b %H:%M:%S %Z %Y"
a date_fmt "%a %e %b %Y %H:%M:%S %Z"
Enregistrez le fichier et quittez l'éditeur
3 Régénérer votre locale
Vous recompilez vos fichiers de définition de locale avec :
$ sudo locale-gen
C'est ça ! Maintenant, le date
devrait par défaut vous donner la sortie dans un format qu'elle peut elle-même accepter nativement comme entrée
$ date -d "$(date)"
Mon 17 Aug 2020 17:58:37 AWST