Date

De Linuxmemo.

date '+%d-%m-%Y'

date '+%F-%H%M%S'

%a abréviation locale du jour de la semaine (Sun..Sat)
%A nom local du jour de la semaine (Sunday..Saturday)
%b abréviation locale du nom du mois (Jan..Dec)
%B nom local du mois (January..December)
%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...) Heure
%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é

Aujourd’hui, 17-07-2009

date '+%d-%m-%Y'

Hier, 16-07-2009

date '+%d-%m-%Y' --date '1 days ago'

1 semaine en arrière

date '+%d-%m-%Y' --date '1 weeks ago'

1 mois en arrière

date '+%d-%m-%Y' --date '1 months ago'

dans 96 jours

date '+%d-%m-%Y' --date '96 days'

Générer une liste d’id unique basée sur le temps

for i in $(seq 1 100); do sleep 1; date '+%s'  ; done

Sommaire

[modifier] Calcul sur les dates

date -d "+10 days"
date -s "-10 years"
Years
Months 
Weeks
Days
Hours 
Minutes 
seconds

[modifier] Calcul d'un intervalle de dates

http://www.k1ka.be/desidia/%3F2010-01-08_Calcul_d%27un_intervalle_de_dates

La commande date permet d'afficher une date en secondes depuis « 00:00:00 1970-01-01 UTC » (c'est dans la page de man), la fameuse epoch. Elle permet aussi d'afficher une autre date que la date courante grâce à l'option --date="xxx".

$ FIN=`date +%s --date="05 Jan 2010 21:30"`
$ echo $FIN
1262723400
$ DEBUT=`date +%s --date="23 Dec 2009 10:38"`
$ echo $DEBUT
1261561080
$ echo $(($FIN - $DEBUT))
1162320
echo $((1162320/(60*60*24)))
13

1162320/(60*60*24) est égal à 13,452 soit environ 13 jours et demi, ça semble correct.

[modifier] Seconds from epoch

date +%s

[modifier] Seconds from epoch to the provided date/timePermalink

$ date -d 1974-01-04 +%s
126507600

[modifier] Convert epoch to a date

$ date -d "UTC 1970-01-01 126507600 secs"
Fri Jan  4 00:00:00 EST 1974
$ date -d @126507600
Fri Jan  4 00:00:00 EST 1974

[modifier] Add days to epoch

date -d "1970-01-01+10 days"
dimanche 11 janvier 1970, 00:00:00 (UTC+0100)
Outils personnels