J'utilise Ubuntu 18.04.4 LTS avec GNOME DE et je veux changer le format de date et d'heure de l'ensemble du système au format ISO 8601, plus précisément AAAA-MM-JJ pour les dates et hh:mm:ss pour les heures.
Comment puis-je le faire ?
J'utilise Ubuntu 18.04.4 LTS avec GNOME DE et je veux changer le format de date et d'heure de l'ensemble du système au format ISO 8601, plus précisément AAAA-MM-JJ pour les dates et hh:mm:ss pour les heures.
Comment puis-je le faire ?
Pour avoir un point de référence, vous pouvez exécuter ces commandes d'abord, et peut-être garder la sortie dans un terminal sur le côté :
localectl status
locale
locale -ck d_t_fmt
locale -ck d_fmt
locale -ck t_fmt
Puis dans un autre terminal cd /usr/share/i18n/locales
Localisez la locale que vous utilisez dans le répertoire...
Pour moi, c'était en_US.
Copiez ce fichier de définition de locale dans un nom personnalisé que vous souhaitez utiliser.
sudo cp en_US my_en_US
À l'aide de votre éditeur préféré, modifiez votre fichier de définition de la locale personnalisée avec les formats de date souhaités. L'OP voulait un format système pour sa date/heure... et bien il y a plus d'un formatage de date/heure sur le système, donc vous devrez faire beaucoup de formatage ici si vous voulez que tout soit couvert. c'est à dire Date, Date heure, heure, heure format AM/PM, date pour l'heure de début et de fin. date
commande...(comme vous le verrez dans le fichier de définition)
Je ne vais illustrer qu'un seul de ces points ici..... Le format de date pour le date
commandement.
sudo vi my_en_US
Allez à la ligne qui dit "date_fmt". Modifiez le formatage au format souhaité.
date_fmt "%Y-%m-%d %H:%M:%S"
note : J'ai lu quelques instructions qui disent que vous entrez ce formatage avec des valeurs Unicode à la place ex) "<u0025><u0059> ,etc,etc".... Mais comme ce n'était pas le cas dans cette version d'ubuntu, je suppose que vous pouvez simplement utiliser l'encodage en pourcentage... Si votre fichier a le format Unicode, vous pouvez prendre la chaîne de date/heure que vous désirez, au format pourcentage, et la passer dans hexdump pour obtenir les équivalents Unicode... echo -n "%Y-%m-%d %H:%M:%S" | hexdump
ou utiliser ce site https://www.branah.com/unicode-converter
Enregistrez votre fichier et quittez... Complétez votre fichier de définition de locale et générez votre nouvelle localesudo localedef -f UTF-8 -i my_en_US MY_en.UTF-8
Il existe des instructions qui disent d'ajouter une variable d'environnement dans /etc/environment ou /bashrc etc.... mais tout ce que j'ai fait c'est sudo localectl set-locale LC_TIME=MY_en.UTF-8
Cela a pris immédiatement pour moi quand j'ai lancé le date
commande. Mais vous devrez peut-être vous déconnecter ou redémarrer, je n'en suis pas sûr. Les services à redémarrer ont changé au fil du temps (selon le reste de l'internet), donc difficile à déchiffrer.
Vous pouvez exécuter à nouveau les commandes du début de l'article à des fins de comparaison/dépannage.
SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.