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)