Epoch Converter : timestamp Unix en date
Collez un timestamp ou une date : vous l'obtenez en toutes lettres, dans votre fuseau et en UTC, avec toutes les autres lectures possibles.
Un nombre · tous les epochs
7 lectures tombent sur une date réelleLecture : Secondes Unix, d'après sa longueur (9 chiffres). Avec la lecture Secondes GPS, ce serait le 6 décembre 2005 : une date réelle aussi, elle reste donc à un clic.
- Millisecondes
- Microsecondes
- Nanosecondes
- ISO 8601
L'horloge de votre navigateur compte en millisecondes entières : les zéros qui suivent sont du remplissage, pas de la précision.
UTC · UTC+00:00 à cette date
1793813880- Millisecondes
1793813880000- ISO 8601
2026-11-04T17:38:00Z
Début et fin, fuseau UTC
| Début | Fin | |
|---|---|---|
| Jour | 1793750400 | 1793836799 |
| Mois | 1793491200 | 1796083199 |
| Année | 1767225600 | 1798761599 |
Tout se passe dans cet onglet : rien de ce que vous collez n'est envoyé nulle part.
Comment utiliser le convertisseur de timestamp (Epoch Converter)
Collez votre timestamp dans le champ, quelle que soit son unité, et la date s'affiche dans votre fuseau horaire et en UTC. Vous pouvez aussi saisir une date, l'en-tête Date d'un e-mail ou le mot maintenant pour obtenir son temps epoch.
La page lit un nombre à la fois en secondes, millisecondes, microsecondes et nanosecondes, choisit la lecture qui tombe sur une date réelle, dit pourquoi et garde les autres lectures à un clic. Sous la réponse, les mêmes chiffres sont lus comme un timestamp Windows, .NET, Mac, Excel, NTP et GPS, et chaque format peut être copié.

Collez n'importe quoiUn nombre dans n'importe quelle unité, une date ISO, l'en-tête Date d'un e-mail, un datetime SQL ou le mot maintenant. L'étiquette indique comment il a été lu.Les chiffres, comptésLa règle sous le nombre groupe ses chiffres par trois : 18 chiffres se lisent ainsi en six groupes, premier indice de ce qu'est ce nombre.La réponse d'abordLe jour de la semaine et la date en toutes lettres, puis l'heure en UTC et dans votre propre fuseau, et chaque format à copier.Quelle lecture, et pourquoiLa page dit en toutes lettres quelle lecture elle a choisie et pourquoi, et nomme l'autre lecture qui tombe aussi sur une date réelle.Tous les autres epochsLes mêmes chiffres lus dans chaque unité et chaque epoch, chacun en barre depuis son propre début. Choisissez une ligne pour utiliser cette lecture.Qu'est-ce que le temps epoch (l'epoch Unix) et pourquoi commence-t-il en 1970 ?
Le temps epoch, ou temps Unix, est le nombre de secondes écoulées depuis 1970-01-01 00:00:00 UTC, l'instant que POSIX appelle l'Epoch. Le timestamp 0 est cet instant, et 817876800 correspond à 1995-12-02 04:00 UTC.
Aucune source primaire n'indique pourquoi 1970 a été choisi. Le premier manuel d'Unix, en novembre 1971, comptait des soixantièmes de seconde depuis le 1er janvier 1971 et notait que son horloge serait épuisée dans deux ans et demi environ ; à la septième édition, en 1979, le compte était en secondes depuis le 1er janvier 1970, une date ronde proche de l'époque où Unix était écrit. UTC n'est apparu qu'en 1972 : les timestamps antérieurs sont donc en UTC par convention.
saturé le 8 avril 1973 · 2,27 ans
1901-12-13 → 2038-01-1968 ans dans chaque sens
valeurs négatives : avant 1970
UNIX Programmer's Manual, première édition, time (II), 3 novembre 1971
L'utilisateur à l'esprit--chronologique remarquera que 2**32 soixantièmes de seconde ne font qu'environ 2,5 ans.
Tous les epochs que lit cette page, sur une même ligne
- 1
.NET
0001-01-01· ticks de 100 ns - 2
Windows FILETIME
1601-01-01· ticks de 100 ns - 3
Excel
1899-12-30· jours - 4NTP
1900-01-01· secondes - 5
Mac HFS+
1904-01-01· secondes - 6
Excel 1904
1904-01-01· jours - 7Unix
1970-01-01· secondes - 8GPS
1980-01-06· secondes
Mon timestamp est-il en secondes, millisecondes, microsecondes ou nanosecondes ?
Comptez les chiffres : un timestamp actuel compte 10 chiffres en secondes, 13 en millisecondes, 16 en microsecondes et 19 en nanosecondes. JavaScript et Java utilisent les millisecondes ; les outils Unix et la plupart des API, les secondes.
Le nombre de chiffres est un indice fort, pas une preuve. Les timestamps NTP, GPS et Mac ont aussi dix chiffres aujourd'hui, et un Windows FILETIME comme un nombre de ticks .NET en ont dix-huit : c'est pourquoi cette page lit toutes les échelles à la fois et affiche la lecture choisie à côté des autres. Un FILETIME dépasse aussi ce que JavaScript peut contenir exactement, donc la page garde les chiffres tels que vous les avez collés.
10 chiffres · 4 échelles · les chiffres seuls ne disent pas laquelle
18 chiffres · 2 échelles · seul le premier chiffre les distingue
Les secondes à 10 chiffres vont de 2001-09-09T01:46:40Z à 2286-11-20T17:46:39Z. Soit une durée de 285 ans, pas une unité.
Comment convertir un timestamp Unix en date dans mon fuseau horaire ?
Un timestamp Unix n'a pas de fuseau horaire : il désigne le même instant partout. La date dépend de l'endroit où vous le lisez, donc la page affiche votre propre fuseau et UTC côte à côte, ainsi que tout autre fuseau que vous choisissez.
Le sélecteur de fuseau utilise la base de fuseaux horaires IANA, la même que votre système d'exploitation : les changements d'heure sont appliqués pour la date elle-même, pas pour aujourd'hui. Dans l'autre sens, une date saisie sans décalage est lue en UTC, et la page propose de la lire plutôt dans votre propre fuseau.
Un instant1793057400= 2026-10-26T23:30:00Z
- Los Angeles16:30lun. 26 oct.UTC−07:00
- New York19:30lun. 26 oct.UTC−04:00
- UTC23:30lun. 26 oct.UTC+00:00
- Berlin00:30mar. 27 oct.UTC+01:00
- Calcutta05:00mar. 27 oct.UTC+05:30
- Tokyo08:30mar. 27 oct.UTC+09:00
- Lord Howe10:30mar. 27 oct.UTC+11:00
Berlin, 29 mars 202623 heures · les horloges sont passées de 02:00 à 03:00
Berlin, 25 octobre 202625 heures · les horloges ont reculé de 03:00 à 02:00
heure normale d’Europe centrale · UTC+01:00heure d’été d’Europe centrale · UTC+02:00l'heure vécue deux foisl'heure qui n'a jamais existé
Que se passe-t-il pour le temps Unix en 2038 ?
Un temps Unix stocké dans un entier signé de 32 bits s'arrête à 2147483647, soit 2038-01-19 03:14:07 UTC ; une seconde plus tard, il revient à une date de décembre 1901. Les systèmes qui comptent sur 64 bits, comme l'exige désormais POSIX, ne sont pas concernés.
En 2026, le risque est dans le stockage, pas dans les horloges : une colonne TIMESTAMP de MySQL s'arrête toujours à 2038-01-19 03:14:07 UTC, tout comme les formats de fichiers et les appareils embarqués qui ont gardé un champ de 32 bits. NTP a son propre débordement, plus tôt : ses secondes sur 32 bits reviennent à zéro en 2036. La page signale tout timestamp proche de la limite de 2038 ou au-delà.
2 147 483 647le plus grand nombre signé de 32 bits
01111111 11111111 11111111 11111111mar. 19 janv. 203803:14:07 UTC
+ 1 seconde
-2 147 483 648les mêmes 32 bits, lus comme un nombre signé
10000000 00000000 00000000 00000000ven. 13 déc. 190120:45:52 UTC
Dernière seconde, UTC
time_t signé de 32 bits2038-01-19 03:14:07TIMESTAMP de MySQL2038-01-19 03:14:07aujourd'hui2038-01-19
time_t de 64 bits, qu'exige POSIX.1-2024, couvre environ 292 milliards d'années de part et d'autre de 1970. Source : POSIX.1-2024 A.4.19, MySQL 8.4, RFC 5905 §6, TN1150Un timestamp Unix peut-il être négatif ?
Oui : un timestamp négatif est une date antérieure à 1970. -1 correspond à 1969-12-31 23:59:59 UTC, et -86400 à 1969-12-31 00:00:00 UTC.
POSIX lui-même laisse les valeurs négatives indéfinies, mais GNU et la plupart des systèmes les traitent comme des dates antérieures à 1970 par une extension documentée, tout comme JavaScript, Python et PostgreSQL. MySQL est l'exception : sa colonne TIMESTAMP commence en 1970, et FROM_UNIXTIME(-1) renvoie NULL. Les dates de naissance et les archives historiques sont des timestamps négatifs ordinaires : la page les lit donc comme des dates au lieu d'y voir une erreur.
SecondesJusqu'où en arrière (échelle log.)Date, UTC
0jeu. 1 janv. 197000:00:00 UTC-1mer. 31 déc. 196923:59:59 UTC-86 400mer. 31 déc. 196900:00:00 UTC-31 536 000mer. 1 janv. 196900:00:00 UTC-1 000 000 000dim. 24 avr. 193822:13:20 UTC-2 147 483 648ven. 13 déc. 190120:45:52 UTC- POSIX
Si l'année est <1970 ou si la valeur est négative, la relation n'est pas définie.
GNU date
@-1vaut 1969-12-31 23:59:59 UTC : des valeurs négatives, en extension de POSIXJavaScripttoute date jusqu'à environ 273 790 ans avant ou après 1970
MySQL TIMESTAMPcommence à 1970-01-01 00:00:01 UTC : ne peut pas contenir de valeur négative
Windows, .NET, Mac, Excel, NTP et GPS : les autres epochs
Beaucoup de systèmes comptent depuis leur propre zéro : Windows depuis 1601, .NET depuis l'an 1, Mac et HFS+ depuis 1904, Excel depuis 1900, NTP depuis 1900 et GPS depuis le 6 janvier 1980. Un nombre qui n'a pas de sens comme timestamp Unix est souvent l'un d'eux.
Le FILETIME 133756272000000000, par exemple, compte des intervalles de 100 nanosecondes depuis 1601 et correspond à 2024-11-09 12:00:00 UTC. Excel compte des jours et traite 1900 comme une année bissextile à dessein : ses numéros de série inférieurs à 61 sont donc décalés d'un jour, et la page les signale. Le temps GPS ignore les secondes intercalaires et a 18 secondes d'avance sur UTC depuis 2017.
| Epoch | Compte | Depuis | Le 26 oct. 2026 | Chiffres | Fuseau horaire | Où on le rencontre |
|---|---|---|---|---|---|---|
| Secondes Unix | secondes | 1970-01-01 | 1792972800 | 10 | UTC (POSIX) | date +%s, time.time() en Python |
| millisecondes | 1970-01-01 | 1792972800000 | 13 | UTC | Date.now() en JavaScript, Java | |
| nanosecondes | 1970-01-01 | 1792972800000000000 | 19 | UTC | UnixNano() en Go | |
| ticks de 100 ns | 1601-01-01 | 134374464000000000 | 18 | UTC (heure locale sur FAT) | NTFS, lastLogon d'Active Directory, Win32 | |
| ticks de 100 ns | 0001-01-01 | 639285696000000000 | 18 | UTC ou locale, selon Kind | DateTime.Ticks | |
| jours | 1899-12-30 | 46321 | 5 | aucun : date et heure sans fuseau | Excel, Google Sheets, LibreOffice | |
| jours | 1904-01-01 | 44859 | 5 | aucun : date et heure sans fuseau | anciennes versions d'Excel pour Mac | |
| secondes | 1904-01-01 | 3875817600 | 10 | GMT (HFS classique : locale) | dates des fichiers HFS+ | |
| Secondes NTP | secondes | 1900-01-01 | 4001961600 | 10 | UTC | paquets NTP |
| Secondes GPS | secondes | 1980-01-06 | 1477008018 | 10 | sans secondes intercalaires : UTC + 18s | récepteurs GPS, fichiers RINEX |
Le temps Unix compte-t-il les secondes intercalaires ?
Non. Le temps Unix donne à chaque jour exactement 86 400 secondes, donc une seconde intercalaire n'a pas de nombre propre, et POSIX le dit lui-même : le temps POSIX décomposé n'est pas nécessairement de l'UTC, malgré les apparences.
Depuis 1972, 27 secondes intercalaires ont été ajoutées à UTC ; le temps Unix n'a pas de nombre pour la seconde supplémentaire, donc un même timestamp désigne deux secondes. La dernière date du 2016-12-31, et en 2022 la Conférence générale des poids et mesures a décidé que d'ici 2035 la limite qui les rend nécessaires serait relevée, ce qui y met fin en pratique. Le temps GPS, qui n'en a jamais eu, montre la différence : il a 18 secondes d'avance.
Les dernières secondes du 31 décembre 1998
Le temps Unix donne 915148800 deux fois ; le temps GPS, qui n'a pas de secondes intercalaires, continue de compter.
27 secondes intercalairesaucune après le 31 décembre 2016 · aucune annoncée avant le 28 juin 2027
avant le début du temps GPSdepuis le début du temps GPS : chacune l'a fait avancer d'une seconde de plus
POSIX.1-2024, Rationale A.4.19
Le temps universel coordonné (UTC) inclut les secondes intercalaires. Cependant, dans le temps POSIX (secondes écoulées depuis l'Epoch), les secondes intercalaires sont ignorées (non appliquées) afin de fournir une méthode simple et compatible de calcul des différences de temps. Le temps POSIX décomposé n'est donc pas nécessairement de l'UTC, malgré les apparences.
Les timestamps Unix en Python, JavaScript, Java, C#, Go, SQL et dans le shell
Chaque langage convertit dans les deux sens en une ou deux lignes. Les pièges sont l'unité (JavaScript et Java comptent en millisecondes) et le fuseau horaire (une base de données peut lire la valeur dans le fuseau de sa session).
Chaque exemple ci-dessous transforme 817876800 en date et une date en secondes, et chacun a été exécuté pour vérifier sa sortie. Dans le shell, macOS et les BSD prennent date -r 817876800, alors que GNU/Linux prend date -d @817876800 : les deux ne sont pas interchangeables.
from datetime import datetime, timezone t = datetime.fromtimestamp(817876800, tz=timezone.utc) print(t.isoformat()) # 1995-12-02T04:00:00+00:00 back = datetime(1995, 12, 2, 4, 0, tzinfo=timezone.utc) print(int(back.timestamp())) # 817876800
Exécuté avec Python 3.14.4 le 26 octobre 2026 : il affiche ce qu'indiquent les commentaires.
const t = new Date(817876800 * 1000); // Date counts milliseconds console.log(t.toISOString()); // 1995-12-02T04:00:00.000Z const back = Date.UTC(1995, 11, 2, 4, 0, 0) / 1000; // months count from 0 console.log(back); // 817876800
Exécuté avec Node.js 22.23.2 le 26 octobre 2026 : il affiche ce qu'indiquent les commentaires.
import java.time.Instant;
public class Main {
public static void main(String[] args) {
Instant t = Instant.ofEpochSecond(817876800L);
System.out.println(t); // 1995-12-02T04:00:00Z
long back = Instant.parse("1995-12-02T04:00:00Z").getEpochSecond();
System.out.println(back); // 817876800
}
}Exécuté avec OpenJDK 25.0.2 le 26 octobre 2026 : il affiche ce qu'indiquent les commentaires.
var t = DateTimeOffset.FromUnixTimeSeconds(817876800); Console.WriteLine(t.ToString("o")); // 1995-12-02T04:00:00.0000000+00:00 var back = new DateTimeOffset(1995, 12, 2, 4, 0, 0, TimeSpan.Zero).ToUnixTimeSeconds(); Console.WriteLine(back); // 817876800
Exécuté avec .NET 10.0.103 le 26 octobre 2026 : il affiche ce qu'indiquent les commentaires.
package main import ( "fmt" "time" ) func main() { t := time.Unix(817876800, 0).UTC() fmt.Println(t.Format(time.RFC3339)) // 1995-12-02T04:00:00Z back := time.Date(1995, 12, 2, 4, 0, 0, 0, time.UTC).Unix() fmt.Println(back) // 817876800 }
Exécuté avec Go 1.25.5 le 26 octobre 2026 : il affiche ce qu'indiquent les commentaires.
SET TIME ZONE 'UTC'; SELECT to_timestamp(817876800); -- 1995-12-02 04:00:00+00 SELECT EXTRACT(EPOCH FROM TIMESTAMPTZ '1995-12-02 04:00:00+00')::bigint; -- 817876800
Exécuté avec PostgreSQL 16.10 le 26 octobre 2026 : il affiche ce qu'indiquent les commentaires.
SET time_zone = '+00:00'; SELECT FROM_UNIXTIME(817876800); -- 1995-12-02 04:00:00 SELECT UNIX_TIMESTAMP('1995-12-02 04:00:00'); -- 817876800
Exécuté avec MySQL 9.5.0 le 26 octobre 2026 : il affiche ce qu'indiquent les commentaires.
# macOS and the BSDs: -r takes seconds date -u -r 817876800 '+%F %T' # 1995-12-02 04:00:00 date -u -j -f '%F %T' '1995-12-02 04:00:00' +%s # 817876800 # Linux (GNU coreutils): -d @seconds; GNU's -r reads a file's date date -u -d @817876800 '+%F %T' # 1995-12-02 04:00:00 date -u -d '1995-12-02 04:00:00' +%s # 817876800
Exécuté avec la commande date de macOS 26.6 et de GNU coreutils 9.12 le 26 octobre 2026 : il affiche ce qu'indiquent les commentaires.
Temps epoch : questions et réponses
Qu'est-ce que le temps epoch ?
Comment convertir un epoch en date ?
new Date(817876800 * 1000) en JavaScript.Quel est le timestamp actuel ?
date +%s l'affiche en secondes.Un timestamp Unix est-il en secondes ou en millisecondes ?
Pourquoi le temps Unix commence-t-il en 1970 ?
Le temps Unix est-il identique à UTC ?
Qu'est-ce que le problème de l'an 2038 ?
TIMESTAMP de MySQL, par exemple, s'arrête toujours à cette seconde.Peut-on convertir une date antérieure à 1970 ?
TIMESTAMP de MySQL ne peut pas les contenir, mais la plupart des langages et bases de données les lisent comme des dates d'avant 1970.Comment convertir un Windows FILETIME en date ?
Comment convertir un numéro de série Excel en timestamp ?
Le convertisseur gère-t-il les fuseaux horaires et l'heure d'été ?
Mon timestamp est-il envoyé quelque part ?
Il vous manque quelque chose ?Suggérez une fonction ou un nouvel outil
Outils associés
Générateur UUID
Générez des UUID v4, v7, v1, v5 et v3 ou des GUID en masse, dans tous les formats, et décodez la version et le timestamp d'un UUID
Décoder et encoder en Base64
Décodez et encodez en Base64 : texte (UTF-8, URL-safe), images, PDF et tout fichier en Base64 ou en data URI
Convertisseur et Traducteur Binaire
Traduisez du texte en binaire et du binaire en texte : détection auto, hex, décimal et octal
Calculateur de sous-réseau
Réseau, broadcast, hôtes utilisables et masques de tout bloc IPv4 ou IPv6, avec VLSM, découpage et sous-réseaux cloud