, , , , ,

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"