{{tag>bash date timestamp conversion dev sysadmin}}
====== date: convertir et manipuler les timestamp ======
Le **timestamp** est le nombre de secondes écoulées depuis le temps référence (timestamp UNIX) le 01/01/1970 à 0h.
Depuis la ligne de lorsqu'on invoque la commande **date** sans argument, le timestamp correspondant à l'instant courant est formaté et affiché sous forme d'une chaîne de caractères facilement lisible et interprétable pour l'utilisateur:
$ date
Le format peut être défini en argument. Dans l'exemple ci-dessous le timestamp brut est affiché en spécifiant le format via l'argument "+%s":
$ date +%s
Un argument commençant par **+** permet de spécifier le format de sortie, **%s** affiche le timestamp brut. Sans argument supplémentaire, le timestamp du temps présent est retourné.
Il est possible de spécifier la date avec laquelle la commande doit travailler grâce à l'option **%%--%%date** ou **-d**:
# afficher la valeur brute du timestamp pour la date du 01/01/2017
$ date --date="2017-01-01" +%s
$ date --date="2017-01-02 12:00" +%s
Au contraire pour afficher la date correspondant à un timestamp donné, saisir le timestamp dans l'argument **%%--%%date** préfixé par **@**:
$ date --date="@1483225200"
# Pour définir un format d'affichage personnalisé sur un timestamp connu
$ date --date="@1483225200" +"%d/%m/%Y"