Un timestamp (opens new window) représente le nombre de secondes écoulées depuis le 1er Janvier 1970 à minuit UTC. Comme un timestamp est un nombre, il ne comporte aucune information de timezone. Un timestamp est donc généralement considéré comme étant une date en UTC.
Les timestamps sont particulièrement adaptés pour stocker des dates: plus léger qu'une chaîne de caractère, il est également plus simple de comparer deux nombres entre eux et donc de trier des timestamps. Attention cependant à toujours convertir la date en UTC avant de la transformer en timestamp pour le stockage.
Dans certains systèmes, les timestamps sont représentés sur un entier de 32 bits signés (notamment le cas pour certains systèmes embarqués ou SGBD comme MySQL (opens new window)), ce qui limite la valeur maximum du timestamp à 2147483647 soit le 19 Janvier 2038 à 3h 14min 8s (ce phénomène étant connu comme le Bug de l'an 2038 (opens new window)). Sur 64 bits signés, la limite du timestamp passe au 4 décembre 292 277 026 596 à 15h 30min 08s, ce qui laisse le temps de voir venir 😅