Wolfzone

 Le blog d'un loup pas vraiment solitaire

Rédigé par YannG | 25 mars 2018 | Classé dans: Linux | Mots clés: aucun

La Date et l'Heure Sous Linux

S'il est relativement simple de changer la date et l'heure lorsque l'on utilise une interface graphique, cela demande quelques efforts supplémentaires avec la ligne de commande.

Définir le fuseau horaire

C'est le fichier /etc/timezone qui contient la définition du fuseau horaire de l'emplacement où se trouve le micro-ordinateur. C'est un fichier qui ne contient qu'une seule ligne de texte sous la forme Continent/Ville. Par exemple si l'on se trouve en France métropolitaine, /etc/timezone devrait normalement contenir:

Europe/Paris

Les définitions de tout les fuseaux horaires sont regroupées dans le dossier /usr/share/zoneinfo.

Format de la date et de l'heure

Pour exprimer la date et/ou l'heure, une suite de séquences est utilisée. ces séquences sont toutes précédées par le signe pourcent % suivi d'une lettre en minuscule ou en majuscule qui sont bien évidemment différenciées et qui fourniront des résultats différents.

Pour la date:

%A Nom du jour de la semaine en entier.
%B Nom du mois en entier.
%d Jour du mois numérique.
%D Date complète au format %m/%d/%y.
%e Jour du mois aligné en rajoutant un espace s'il est inférieur à 10.
%F Date complète au format %Y-%m-%d.
%j Jour de l'année.
%m Mois de l'année.
%u Jour de la semaine avec lundi comme premier jour.
%U Semaine de l'année avec dimanche comme premier jour de la semaine.
%w Jour de la semaine avec dimanche comme premier jour.
%W Semaine de l'année avec lundi comme premier jour de la semaine.
%x Date complète qui tient compte des paramètres de langue.
%y Les deux derniers chiffres de l'année.
%Y Année en entier.

Pour l'heure:

%H Heure au format 24 heures.
%I Heure au format 12 heures.
%k Heure au format 24 heures et alignée avec un espace si nécessaire.
%l Heure au format 12 heures et alignée avec un espace si nécessaire.
%M Minutes de l'heure courante.
%p Indique en majuscules si l'on est avant ou après midi pour une heure au format 12 heures.
%P Indique en minuscules si l'on est avant ou après midi pour une heure au format 12 heures.
%r Heure au format 12 heures qui tient compte des paramètres de langue.
%R Heure au format 24 heures au format %H:%M.
%s Valeur de EPOCH (nombre de secondes écoulées depuis le 1 janvier 1970 à 00:00:00 UTC).
%S Secondes de l'heure courante.
%T Heure au format 24 heures au format %H:%M:%S.
%Z Nom abrégé du fuseau horaire.

Par défaut les chiffres sont complétés avec des zéros, cependant, il est possible de modifier ce comportement en ajoutant l'un des caractères suivant entre le signe pourcent % et la lettre:

- Ne pas compléter les chiffres inférieurs à 10 (signe moins).
_ Compléter avec des espaces (signe soulignement).
0 Compléter avec des zéros (comportement par défaut).

Gestion de la date et de l'heure

La commande date permet d'afficher et de modifier la date et l'heure de la machine sur laquelle le système est en cours de fonctionnement.

Sans aucun argument cette commande affiche simplement la date et l'heure en tenant compte des différents réglages tel le fuseau horaire et les paramètres de langue.

date
lundi 5 mars 2018, 07:01:53 (UTC+0100)

Le signe plus + permet de modifier le format d'affichage de la commande avec l'aide des différentes séquences mentionnées au paragraphe précédent.

date +%F
2018-03-05

On peut également utiliser plusieurs séquences pour former des dates et des heures personnalisées.

date +%d-%m-%Y
05-03-2018

Par contre si l'on veut insérer des espaces entre les séquences, il faut mettre la définition entre guillemets.

date +"%A %-d %B %Y"
lundi 5 mars 2018

L'option -d permet d'utiliser une autre date que la date courante.

date -d "2018-03-25" +"%A %-d %B %Y"
dimanche 25 mars 2018

Enfin, l'option -s permet de définir la date ou l'heure courante, cependant, les droits administrateur sont généralement demandés pour redéfinir la date et l'heure.

date -s "2018-03-05 07:01:00"
lundi 5 mars 2018, 07:01:00 (UTC+0100)

Si l'on ne renseigne que la date, l'heure est simplement remise à 0.

date -s "2018-03-05"
lundi 5 mars 2018, 00:00:00 (UTC+0100)

Pour ne changer que l'heure, il suffit d'exécuter la commande date avec les paramètres suivants:

date -s "07:36:05" +%T
07:36:05