28nov. 2008
Convertir des dates
C'est souvent utile, alors je partage avec vous deux petits trucs.
D'abord un petit rappel. Unix, et donc Linux, compte le temps en secondes depuis le 1er janvier 1970. Donc si vous voulez savoir combien de secondes se sont écoulées, vous faite la commande suivante (il est ven nov 28 11:12:53 EST 2008):
[scarrillo@vercors ~]# date +%s
1227888773
Si vous avez une application qui fait des logs avec des dates marquées en seconde, comme par exemple squid (je devrais bientôt faire un article à ce sujet), et que vous voulez savoir à quelle heure a été fait l'accès, voici comment faire:
1227881891.446 392 127.0.0.1 TCP_MISS/200 8577 GET http://fr-fr.facebook.com/index.php? - DIRECT/69.63.184.15 text/htmlLe premier champ contient l'heure en secondes. Donc pour convertir:
1227881892.505 129595 127.0.0.1 TCP_MISS/200 1781 CONNECT ssl.facebook.com:443 - DIRECT/69.63.178.13 -
1227881892.506 149063 127.0.0.1 TCP_MISS/200 2537 CONNECT login.facebook.com:443 - DIRECT/69.63.176.44 -
[scarrillo@vercors ~]# date -d @1227881892Sur le même principe, si vous voulez connaitre la date d'hier au format YYYYMMSS, par exemple pour créer une archive, vous pouvez faire:
ven nov 28 09:18:12 EST 2008
[scarrillo@vercors ~]# date --date '1 day ago'
jeu nov 27 11:18:27 EST 2008