Il m’arrive souvent de devoir convertir un timestamp unix en une date lisible par un être humain normal. Dans la plupart des langages de programmation moderne, c’est quelque chose de facile. Il existe aussi des convertisseurs sur le web. Seulement, c’est plus rapide de faire ça en shell :
date -d "1970-01-01 GMT+2 + 1220367600 seconds" -> mardi 2 septembre 2008, 16:58:00 (UTC+0200)
C’est tout. C’est bien pratique, même si ça ne vaut pas Super Timor.
3 Commentaires
Sinon, y’a date -r 1220367600
date -r 1220367600 ne marche pas chez moi
$ man date
-r, –reference=FILE
display the last modification time of FILE
$ date -r 1302789628
date : 1302789628 : Aucun fichier ou dossier de ce type
$ date –version
date (GNU coreutils) 8.5
Il ne faut pas mettre GMT+2, mais GMT car le timestamp 0 est pour le 1er janvier 1970 à minuit GMT.
Pas bon :
$ date ; date -d « 1970-01-01 +`date +%s` seconds »
lundi 25 juillet 2011, 18:07:43 (UTC+0200)
lundi 25 juillet 2011, 17:07:43 (UTC+0200)
Pour éviter cela, précisez GMT pour la date origine.
$ date ; date -d « 1970-01-01 GMT +`date +%s` seconds »
lundi 25 juillet 2011, 18:09:09 (UTC+0200)
lundi 25 juillet 2011, 18:09:09 (UTC+0200)