Le timestamp (unix) désigne le nombre de secondes écoulées depuis le 1er janvier 1970 à minuit UTC précise. Il correspond à un entier
qui s'incrémente de 1 toutes les secondes.
Pour la programmation, cette unité de mesure présente plusieurs avantages par rapport à une date "classique" :
L'universalité : le timestamp est indépendant de tous les fuseaux horaires (puisqu'il représente le nombre de secondes écoulées depuis un point précis dans le temps indifferemment de l'endroit où on se place) ;
La comparaison : il est plus facile de comparer des dates de façon arithmétique ;
La gestion : le timestamp est géré par une majorité de langages de programmation et systèmes de gestion de base de données (SGBD) ;
Le stockage : il est plus facile d'enregistrer un nombre, qu'une date au format texte puisqu'il n'y a pas à se préoccuper du format de la date.
Et naturellement, quelques inconvénients :
La compréhension : le nombre en lui-même n'est pas parlant pour un humain. Il rend obligatoire de passer par un convertisseur;
La gestion : le timestamp ne gère pas (nativement) les dates avant 1970. Il ne peut donc pas être utilisé pour la gestion des dates de naissances, par exemple ;
La limitation : une limitation concerne les ordinateurs 32 bits et vient du fait que la valeur maximale d'un entier est 2.147.483.647 (2 milliards 147 millions 483 milles 647). Cela signifie que lorsque ce nombre sera atteint, les ordinateurs 32 bits ne pourront plus compter au delà. Ce problème est connu sous le nom du bug de l'an 2038, ces ordinateurs seront obsolètes exactement, le 19 janvier 2038.
Par exemple, actuellement, en timestamp, il est : 1728415157
.