Skip to main content

Date vers timestamp

Convertissez une date en horodatage.

Transformer une date en horodatage Unix

Une date est ambiguë tant qu'on ne dit pas dans quel fuseau elle se situe. Un horodatage ne l'est pas : c'est un instant unique compté depuis 1970 en UTC. Passer de l'un à l'autre suppose de choisir un fuseau, et se tromper décale le résultat de plusieurs heures.

Comment ça marche

  • Interprète la date et l'heure fournies dans un fuseau choisi, puis compte les secondes depuis l'époque Unix.
  • Restitue le résultat en secondes et en millisecondes, les systèmes n'attendant pas la même unité.
  • Rend le fuseau explicite au lieu de supposer silencieusement celui du navigateur, d'où proviennent la plupart des bugs de conversion.
horodatage = secondes depuis 1970-01-01T00:00:00Z

la même heure d'horloge dans deux fuseaux donne deux horodatages
différents, séparés par l'écart de leurs décalages

millisecondes = secondes × 1000

Exemple chiffré

15:00 le 20 mars 2026, lu d'abord comme UTC puis comme heure locale de Varsovie.

  1. 2026-03-20T15:00:00Z → 1774018800
  2. en millisecondes → 1774018800000
  3. 2026-03-20T15:00:00+01:00 (Varsovie) → 1774015200
  4. les deux diffèrent de 3 600 secondes — exactement une heure

Même date, même position des aiguilles, deux horodatages séparés d'une heure. Le fuseau n'est pas un détail de présentation : il fait partie du sens de la date.

Lire le résultat

  • Une chaîne de date seule comme 2026-03-20 est analysée comme minuit UTC selon la spécification ECMAScript, tandis que 2026-03-20T00:00:00 sans Z est lue en heure locale. L'écart vaut votre décalage : c'est pourquoi les saisies de date seule causent souvent des erreurs d'un jour.
  • Le temps Unix ignore les secondes intercalaires. Chaque jour fait exactement 86 400 secondes : un horodatage n'est donc pas un vrai décompte de secondes physiques écoulées — pour mesurer un intervalle, utilisez une horloge monotone.
  • Vérifiez si le système destinataire veut des secondes ou des millisecondes. Dix chiffres pour les secondes, treize pour les millisecondes ; confondre les deux produit une date en 1970 ou en l'an 57 000.
  • Pour les dates antérieures à 1970, l'horodatage est négatif. C'est valide, mais le traitement varie : certaines bases et bibliothèques rejettent ou gèrent mal les valeurs négatives.

Questions fréquentes

Pourquoi ma date ressort avec un jour d'avance ou de retard ?
Presque toujours une hypothèse de fuseau sur une valeur de date seule. Si vous saisissez 2026-03-20 et que le système la lit comme minuit UTC, toute personne à l'ouest de Greenwich voit le dix-neuf en local. Attachez toujours une heure et un fuseau explicites à une date destinée à être convertie.
Faut-il stocker des dates ou des horodatages ?
Stockez un instant, en UTC, dès que la chose enregistrée s'est produite à un moment précis : un événement, une entrée de journal, une transaction. Ne stockez une date simple que si le fuseau n'a réellement aucune importance, comme un anniversaire, où le 20 mars signifie la même chose partout.

Guide de conversion des dates en timestamps

La conversion de dates en timestamp Unix est une opération fondamentale en programmation : stockage des dates en base, journalisation des événements et synchronisation temporelle entre systèmes. Les applications web modernes doivent souvent transférer des dates entre le serveur et le navigateur, et le timestamp Unix est le format intermédiaire idéal, indépendant des fuseaux horaires.

Applications pratiques

Le timestamp est indispensable pour : trier les événements du plus récent au plus ancien (valeur plus grande = date plus tardive), calculer l'écart de temps entre deux événements, mettre des données en cache avec une date d'expiration, gérer les systèmes de vote et de sondage, ou encore dans la blockchain, où chaque bloc porte un timestamp confirmant sa date de création.

Exactitude et précision

Choisissez le format de timestamp selon vos besoins : les secondes (1704067200) suffisent pour la plupart des applications web et des API, les millisecondes (1704067200000) sont la norme en JavaScript et sur la JVM ainsi que pour un suivi précis des événements, les nanosecondes (1704067200000000) servent dans les systèmes financiers où chaque milliseconde compte.

Questions et problèmes

Vérifiez toujours le fuseau horaire lors de la conversion : les réglages par défaut peuvent différer d'un environnement à l'autre. Windows et Unix peuvent traiter différemment les dates antérieures à l'epoch (valeurs négatives). Manipuler des timestamps est plus simple que des chaînes de dates, car on peut effectuer des opérations arithmétiques sans bibliothèque.