Transformez des secondes depuis l’époque Unix en date et heure, ou saisissez une date locale pour obtenir son timestamp. Les conversions utilisent le fuseau horaire du navigateur.
Fonctionne localement dans votre navigateurUn horodatage Unix compte les secondes écoulées à partir du 01/01/1970 à 00:00:00 UTC. Cette page interprète la date et l'heure saisies dans le fuseau horaire local du navigateur.
Stockez les horodatages au format UTC. Appliquez un fuseau horaire IANA nommé, y compris les règles d'heure d'été, uniquement lors de l'affichage d'une valeur à un utilisateur.
| Environnement | Horodatage actuel | Convertir l'horodatage en date et heure UTC |
|---|---|---|
| JavaScript | Math.floor(Date.now() / 1000) | new Date(timestamp * 1000).toISOString() |
| Python | int(time.time()) | datetime.fromtimestamp(timestamp, timezone.utc) |
| PHP | time() | (new DateTimeImmutable("@$timestamp"))->setTimezone(new DateTimeZone("UTC")) |
| Java | Instant.now().getEpochSecond() | Instant.ofEpochSecond(timestamp) |
| Go | time.Now().Unix() | time.Unix(timestamp, 0).UTC() |
| Ruby | Time.now.to_i | Time.at(timestamp).utc |
| PostgreSQL | SELECT EXTRACT(EPOCH FROM NOW())::bigint; | SELECT TO_TIMESTAMP(timestamp) AT TIME ZONE 'UTC'; |
| MySQL | SELECT UNIX_TIMESTAMP(); | SELECT FROM_UNIXTIME(timestamp); |
Cette page convertit des secondes depuis l'époque Unix en date et heure de votre fuseau horaire, et reconvertit une date locale en horodatage. Une horloge en direct affiche la valeur courante et peut être arrêtée pour figer une lecture.
Toutes les conversions utilisent le fuseau horaire annoncé par le navigateur : le résultat correspond à l'horloge de votre machine, pas à UTC. Le calcul se fait dans la page : rien de ce que vous saisissez n'est envoyé à un serveur.
L'heure Unix compte les secondes écoulées depuis 1970-01-01T00:00:00 UTC et ignore les secondes intercalaires : c'est un entier simple, pas une structure de calendrier. Elle est toujours définie en UTC — la même valeur affichée dans deux fuseaux donne deux horloges différentes pour un seul instant.
Les secondes intercalaires n'étant pas comptées, l'heure Unix n'est pas une mesure exacte des secondes physiques, mais elle est assez cohérente pour servir de format d'échange par défaut à tous les systèmes, bases de données et langages. D'où les noms epoch time et POSIX time.
La valeur classique est en secondes et compte dix chiffres entre 2001 et 2286. JavaScript et Java utilisent les millisecondes, soit treize chiffres, et certains systèmes stockent des microsecondes ou des nanosecondes, soit seize ou dix-neuf chiffres. Une valeur qui semble appartenir à l'an 50000 est presque toujours un nombre de millisecondes lu comme des secondes.
Avant d'envoyer un horodatage à une API, vérifiez l'unité dans sa documentation et surveillez l'erreur classique : le client envoie des millisecondes, le serveur stocke des secondes. Le symptôme visible est une date située des décennies dans le futur.
Un horodatage n'a pas de fuseau horaire, une date en a un. Deux serveurs qui écrivent minuit dans leur heure locale produisent deux horodatages différents : stockez l'instant et ne convertissez qu'à l'affichage. Le changement d'heure rend la conversion inverse ambiguë : une heure locale peut exister deux fois (ici, le premier décalage est retenu) ou ne pas exister du tout (ici, elle est refusée).
Les systèmes qui stockent l'heure Unix dans un entier signé de 32 bits débordent en janvier 2038, quand le compteur dépasse 2 147 483 647. Les plateformes 64 bits ne sont pas concernées, mais les systèmes embarqués et les anciens formats à champs 32 bits méritent une vérification.
La conversion utilise le fuseau horaire local du navigateur, alors que votre serveur, votre journal ou votre base de données écrit probablement en UTC. Les deux montrent le même instant ; seul le décalage diffère. Comparez les horodatages plutôt que les horloges.
Parce qu'il est en millisecondes : JavaScript et Java utilisent cette unité nativement. Cette page attend des secondes, divisez donc par 1000 avant de convertir ; sinon la valeur est lue comme une année très lointaine.
En JavaScript, Math.floor(Date.now() / 1000) ; en PHP, time() ; en Python, int(time.time()) ; en SQL, la fonction de votre moteur (UNIX_TIMESTAMP() pour MySQL, strftime('%s','now') pour SQLite ou PostgreSQL).
Les systèmes qui stockent l'heure Unix dans un entier signé de 32 bits débordent le 2038-01-19 à 03:14:08 UTC, quand le compteur dépasse 2 147 483 647. Les plateformes 64 bits ne sont pas concernées, mais les systèmes embarqués et les formats à champs 32 bits le sont.
Non. Elle compte 86 400 secondes par jour et ignore les secondes intercalaires ajoutées à UTC de temps à autre : ce n'est pas un décompte exact des secondes physiques, mais c'est le format d'échange standard entre systèmes.
Quand la valeur doit rester lisible ou transporter son décalage, par exemple dans un JSON ou un journal : 2023-11-15T06:13:20+08:00 ne laisse aucune ambiguïté. Pour les calculs, les comparaisons et le stockage, l'horodatage est plus simple.