Le Timestamp
Le Timestamp UNIX est un nombre qui représente le nombre de secondes écoulées depuis le début de l'ère UNIX, le 1er janvier 1970.
Toutes les secondes, le Timestamp augmente de un. Mais cela, vous l'avez surement compris, puisque vous avez terminé le niveau... Alors parlons des petites anecdotes qui entourent le Timestamp : ses bugs par exemple.
Vous avez peut-être déjà remarqué que la date affichée sur certains posts de forums était 1er janvier 1970 ? C'est dû au timestamp : normalement, il est stocké en base de données, mais dans ce cas il y a eu un problème d'enregistrement, et 0 a été stocké à la place du timestamp normal.
Un autre truc sympa sur le timestamp ?
Il change pour tout les systèmes d'exploitation, on appelle Epoch la date de début du système :
- Sous UNIX, c'est 1er janvier 1970 à 0 heure (UTC)
- Sous Mac OS, le 1er janvier 1904 à 0 heure.
- Sous Mac OS X (étant basé sur UNIX, il utilise l'epoch UNIX) donc 1970 à 0 heure.
- Sous VMS, le 17 novembre 1858 à 0 heure (basé sur le Jour julien modifié)
- Sous Windows le 1er janvier 1900 à 0 heure
- Sous Pick, le 1er janvier 1968 à 0 heure
Encore une anecdote ?
Des problèmes sont susceptibles d'arriver lorsque la date dépasse la valeur maximale autorisée pour le type de donnée utilisée pour la stocker. Par exemple, sous UNIX, les dates sont exprimées en nombre de secondes depuis l'Epoch et stockées dans des entiers. Quand ceux-ci ont une taille de 32 bits, des problèmes risquent donc de survenir à partir du 19 janvier 2038. Il existe le même problème sous Windows à partir de la date du 6 février 2036.