Les Unix timestamps expliques : secondes, epoch et UTC
Par SyncBuilder
Si vous avez deja ouvert une reponse d'API et trouve une date qui ressemble a un tas de chiffres au hasard, vous avez rencontre le Unix timestamp. C'est l'une des facons les plus courantes dont les ordinateurs stockent un instant, et une fois compris, ces nombres cessent d'etre un mystere.
Qu'est-ce qu'un Unix timestamp ?
Un Unix timestamp est simplement le nombre de secondes ecoulees depuis le Unix epoch, soit 1970-01-01 00:00:00 UTC. Comme il est mesure en UTC, il est independant du fuseau horaire, compact et facile a comparer et a trier. C'est exactement pour cela que les APIs et les bases de donnees l'adorent. Une variante en milliseconds, utilisee par JavaScript et de nombreux autres systemes, est la meme valeur multipliee par 1000.
A quoi faire attention lors de la conversion
- Secondes vs milliseconds : un nombre a 10 chiffres correspond generalement a des secondes, tandis qu'un nombre a 13 chiffres correspond a des milliseconds.
- UTC vs heure locale : la valeur stockee est toujours en UTC, decidez donc si vous l'affichez en UTC ou dans le fuseau horaire local de l'utilisateur.
- Zeros initiaux : ne les supprimez pas et ne reformatez pas a l'aveugle, sous peine de modifier la valeur que vous lisez.
- Valeurs negatives : les timestamps anterieurs a 1970 sont parfaitement valides et sont representes par des nombres negatifs.
Melanger secondes et milliseconds est l'un des bugs d'integration les plus frequents. Si une valeur est decalee d'un facteur 1000, c'est presque toujours une confusion entre seconds/milliseconds. Et sur les systemes 32 bits, attention au probleme de l'an 2038, lorsque le compteur de secondes depasse un signed 32-bit integer.
Envie de verifier une valeur sans quitter votre bureau ? Notre Timestamp Converter gratuit transforme les timestamps en dates lisibles et inversement, en secondes comme en milliseconds, directement dans votre navigateur.
Essayer l'outil gratuit