Retour à l'outil
*

Convertir une date en timestamp Unix

Mis à jour : mai 2026

Transformer une date en timestamp semble trivial, mais le fuseau horaire change le résultat. Le bon timestamp dépend de ce que signifie votre date : minuit UTC, minuit à Paris, ou l'heure locale de l'utilisateur.

Calculer un timestamp

Gratuit · sans upload · calcul local

La question à poser

La chaîne 2025-01-01 00:00:00 ne suffit pas. Elle doit être associée à un fuseau horaire. Minuit à Paris correspond à 2024-12-31 23:00:00 UTC en hiver, donc à un timestamp différent de minuit UTC.

En production, stockez l'instant en UTC et gardez le fuseau uniquement pour l'affichage ou la saisie utilisateur.

JavaScript

// Date UTC explicite
const tsUtc = Math.floor(new Date('2025-01-01T00:00:00Z').getTime() / 1000);

// Timestamp actuel
const now = Math.floor(Date.now() / 1000);

// Une date sans Z est interprétée comme locale
const localTs = Math.floor(new Date('2025-01-01T00:00:00').getTime() / 1000);

Python

from datetime import datetime, timezone
from zoneinfo import ZoneInfo

dt = datetime(2025, 1, 1, 0, 0, 0, tzinfo=timezone.utc)
print(int(dt.timestamp()))

dt_paris = datetime(2025, 1, 1, 0, 0, 0, tzinfo=ZoneInfo("Europe/Paris"))
print(int(dt_paris.timestamp()))

PHP

$dt = new DateTimeImmutable('2025-01-01 00:00:00', new DateTimeZone('UTC'));
echo $dt->getTimestamp();

$paris = new DateTimeImmutable('2025-01-01 00:00:00', new DateTimeZone('Europe/Paris'));
echo $paris->getTimestamp();

Formulaires HTML

Un champ datetime-local ne contient pas de fuseau horaire. Il faut décider si la valeur saisie représente l'heure locale de l'utilisateur, l'heure d'un fuseau choisi dans l'interface ou une heure UTC. Sans cette règle, deux utilisateurs peuvent produire deux timestamps différents pour le même texte affiché.

Questions fréquentes

Pourquoi ma date en timestamp décale d'une heure ?

Le fuseau horaire ou le passage heure d'été / heure d'hiver n'a pas été pris en compte.

Dois-je stocker une date ISO ou un timestamp ?

Les deux sont valables. Le timestamp est compact et facile à comparer ; l'ISO 8601 est plus lisible. L'important est de rester cohérent.

Comment obtenir le timestamp actuel ?

En JavaScript : Math.floor(Date.now() / 1000). En Python : int(time.time()). En PHP : time().