Aller au contenu principal

Planification < Dates

Utilitaire ’date’ sur Unix

date est l’exécutable qui permet d’afficher une date et une heure en fonction d’un format. L’utilisation des fuseaux horaires permet d’effectuer des décalages d’heures mais aussi de jours.
E. Angenault
16 septembre 2005

 POPULARITE : 12225 visites

Utiliser un format

Pour indiquer un format, il faut préciser + suivi des paramètres

Champs horaires

%H heure (00..23)
%I heure (01..12)
%k heure ( 0..23)
%l heure ( 1..12)
%M minute (00..59)
%p notation locale pour AM ou PM. 
%r heure actuelle (sur 12 heures) (hh :mm :ss [AP]M)
%s secondes écoulées depuis le 01-01-1970 à 00:00:00 T.U (extension non standard)
%S secondes (00..61)
%T heure actuelle, (sur 24 heures) (hh :mm :ss)
%X représentation locale de l’heure (%H :%M :%S)
%Z fuseau horaire (par ex. MET), ou rien si le fuseau horaire n’est pas déterminé

Champs de date

%a abréviation locale du jour de la semaine (Dim .. Sam)
%A nom local du jour de la semaine (Dimanche .. Samedi)
%b abréviation locale du nom du mois (Jan..Dec)
%B nom local du mois (Janvier .. Décembre)
%c date et heure locales (Sat Nov 04 12:02:33 EST 1989)
%d jour du mois (01..31)
%D date (mm/jj/aa)
%h comme %b
%j jour de l’année (001..366)
%m mois (01..12)
%U numéro de semaine dans l’année (00..53). La semaine commence le Dimanche.
%w Jour de la semaine (0..6). Le 0 correspond au Dimanche.
%W numéro de semaine dans l’année (00..53). La semaine commence le Lundi.
%x représentation locale de la date (mm/jj/aa)
%y deux derniers chiffres de l’année (00..99)
%Y année (1970...)

Mise en forme

% un caractère % littéral.
n saut de ligne
t tabulation horizontale

Ex : Affichage de la date en YYMMDD

date +%y%m%d

Heure GMT

L’heure GMT peut être afficher avec l’option -u

Calculer la date de la veille

Pour calculer une date de la veuille, on précise un fuseaux horaires de plus de 24h, cette astuce n’est pas disponible sur tous les OS mais peut être très pratique.

TZ=MET+24;date

de la même manière, on pourra obtenir la date du lendemain :

TZ=MET-24;date

et ainsi de suite en se décalant par tranches de 24 heures.

Date au format ISO

Ce type de format est le seul normalisé, les utilisateurs de shell seront heureux d’apprendre que la fonction date dispose d’une option ISO. Attention ! non disponible sur tous les OS.

date --iso-8601=seconds

Date ISO d’un fichier

date --iso-8601=seconds -u -r /tmp/foo.txt


Le document issu de http://Ordonnancement.org est mis à disposition sous les termes de la licence Creative Commons, vous pouvez l'utilisez dans vos documents à condition de citer l'auteur E. Angenault, vous êtes aussi libre de le modifier. Par contre, vous devez le redistribuer dans les mêmes conditions et la commercialisation ne peut se faire qu'avec l'accord de l'auteur.