77 lines
1.6 KiB
Markdown
77 lines
1.6 KiB
Markdown
# Howto date
|
|
|
|
## Commande date
|
|
|
|
### Avoir la date actuelle
|
|
|
|
~~~
|
|
$ date
|
|
samedi 2 avril 2005, 16:59:42 (UTC+0200)
|
|
$ date +"%d-%m-%Y %H:%M:%S"
|
|
02-04-2005 16:59:42
|
|
$ date +"%d-%m-%y %r"
|
|
02-04-05 04:59:42 PM
|
|
$ date +%s
|
|
1112453982
|
|
$ date -R
|
|
Sat, 02 Apr 2005 16:59:42 +0200
|
|
$ TZ=America/Montral date
|
|
samedi 2 avril 2005, 09:59:42 (UTC-0500)
|
|
~~~
|
|
|
|
Notes :
|
|
|
|
* `date` : donne la date locale
|
|
* `date -u` : donne la date UTC
|
|
* `TZ=America/Montral date` : donne la date en fonction de la variable TZ
|
|
* `date -R` : donne la date au format RFC822
|
|
|
|
### Changer la date
|
|
|
|
~~~
|
|
# date -s "01/19/2005 04:27:00"
|
|
~~~
|
|
|
|
### Convertir une date
|
|
|
|
On utilise `date -d` puis l'on peut avoir les mêmes options d'affichage que vu plus haut :
|
|
|
|
À partir d'un timestamp :
|
|
|
|
~~~
|
|
$ date -d @1112453982
|
|
samedi 2 avril 2005, 16:59:42 (UTC+0200)
|
|
$ date -d @1112453982 +"%d-%m-%Y %H:%M"
|
|
02-04-2005 16:59
|
|
~~~
|
|
|
|
À partir d'une date à différents formats :
|
|
|
|
~~~
|
|
$ date -d 20010930
|
|
dimanche 30 septembre 2001, 00:00:00 (UTC+0200)
|
|
$ date -d "2001-09-30 13:37:42"
|
|
dimanche 30 septembre 2001, 13:37:42 (UTC+0200)
|
|
$ date -d "next Thursday"
|
|
jeudi 7 septembre 2017, 00:00:00 (UTC+0200)
|
|
date -d "next Month"
|
|
mardi 3 octobre 2017, 23:11:39 (UTC+0200)
|
|
~~~
|
|
|
|
On peut aussi faire un `date -d "DATE +1day/month/etc.` :
|
|
|
|
~~~
|
|
$ date -d "1970-01-01 GMT+2 + 1220367600 seconds"
|
|
~~~
|
|
|
|
..d'où les astuces pour connaître
|
|
|
|
D'où les astuces pour connaître la date dans 20 jours par exemple :
|
|
|
|
~~~
|
|
$ date -d "$(date +%Y-%m-%d) +20 days"
|
|
samedi 23 septembre 2017, 23:12:51 (UTC+0200)
|
|
$ date -d "+20 days"
|
|
samedi 23 septembre 2017, 23:12:51 (UTC+0200)
|
|
~~~
|