Convertisseur de timestamp JavaScript en ISO 8601
Collez un timestamp JavaScript en millisecondes et obtenez la date et l'heure exactes en UTC : 0 devient 1970-01-01T00:00:00.000Z. Le résultat ne dépend ni de votre horloge, ni de votre région, ni de l'heure d'été. Gratuit dans votre navigateur.
- Gratuit
- Fonctionne dans votre navigateur
- Sans inscription
- Vos données restent sur votre appareil
Lancer gratuitement
Exemple résolu
- Horodatage
- 0
- Horodatage (ms)
- 0
- Iso
- 1970-01-01T00:00:00.000Z
Convertissez un timestamp JavaScript en date et heure ISO 8601 précise sans dépendre de l’heure actuelle, des paramètres régionaux du navigateur ni de l’horloge du serveur. Saisissez un entier exprimant les millisecondes écoulées depuis l’époque Unix pour obtenir la date UTC correspondante, avec trois chiffres de précision et un Z final. Le calcul est déterministe : le même nombre produit toujours la même chaîne. Les valeurs négatives antérieures à 1970 et toute la plage temporelle JavaScript sont prises en charge pour les journaux, migrations et tests reproductibles.
Saisissez des millisecondes, pas des secondes
Ce facteur mille explique la plupart des conversions surprenantes. Collez la valeur numérique telle que JavaScript la fournit, sans guillemets, séparateurs, suffixes ni expression. Le convertisseur accepte des entiers, car une chaîne ISO à trois décimales représente exactement des millisecondes entières.
Il refuse les décimales, les valeurs non finies et le texte numérique au lieu de les arrondir ou de les deviner. Cette rigueur empêche une entrée incorrecte de produire une date crédible mais fausse. Si votre source utilise des secondes, multipliez-la par mille avant l’envoi, à condition de rester dans la plage admise.
Comprenez le résultat UTC déterministe
Le résultat est une date ISO 8601 en UTC. Son Z final signifie un décalage nul par rapport à UTC, et non le fuseau local de la personne qui effectue la requête. Les heures, minutes, secondes et millisecondes restent donc stables entre régions, changements d’heure et configurations d’exécution.
Le calcul ne consulte pas l’horloge et n’appelle pas l’objet Date de JavaScript. Il sépare le timestamp en jour UTC entier et heure non négative dans ce jour, puis convertit le décompte par arithmétique grégorienne bornée. Une entrée identique ne varie ainsi ni selon la langue ni selon le moment d’exécution.
La division par plancher traite correctement les valeurs négatives : la milliseconde précédant l’époque Unix appartient bien au 1969-12-31. Les années hors de 0000 à 9999 utilisent la notation étendue signée.
Utilisez la sortie en toute sécurité
Conserver le nombre et la chaîne facilite la détection d’une confusion entre secondes et millisecondes. Cette conversion formate une valeur ; elle ne localise pas un fuseau, ne déduit pas le lieu d’un événement et ne crée pas un affichage régional. Effectuez ces opérations séparément tout en gardant UTC comme format d’échange.
La plage acceptée correspond à la limite JavaScript : plus ou moins 8,640,000,000,000,000 millisecondes. Les valeurs hors plage, NaN, Infinity, absentes, textuelles ou fractionnaires sont refusées. Aucun réseau, hasard, paramètre régional ou accès à l’horloge n’influence la réponse.
Cas d’usage
Lire des journaux applicatifs
Transformez un champ opaque en millisecondes en instant UTC comparable entre services et régions.
Auditer des migrations temporelles
Conservez le nombre original près de sa forme ISO pendant la vérification des transformations de données.
Questions fréquentes
L’entrée utilise-t-elle des secondes ou des millisecondes ?
Des millisecondes. Les timestamps JavaScript comptent depuis l’époque Unix ; multipliez d’abord les secondes par 1,000.
Mon fuseau horaire local est-il utilisé ?
Non. La sortie est toujours en UTC, comme l’indique le Z final, indépendamment du navigateur ou du serveur.
Peut-on convertir une date antérieure à 1970 ?
Oui. Saisissez un timestamp négatif pour obtenir la date UTC grégorienne correspondante.
Pourquoi les fractions sont-elles refusées ?
Le contrat représente des millisecondes entières exactes et émet trois décimales, ce qui évite tout arrondi silencieux.
Quel est le tarif ?
L’exécution dans le navigateur permet aussi une conversion interactive déterministe.
Outils associés
Pour les développeurs — accès API
Tout sur cette page est disponible par programmation. Cette section s'adresse aux équipes qui veulent l'intégrer à leurs systèmes ; les autres peuvent simplement utiliser l'outil ci-dessus.
Endpoint
Authentification par jeton Bearer : un seul POST met la tâche en file d’attente, et le résultat vous parvient par webhook ou lien signé.
Appeler depuis votre stack
curl -X POST https://api.kit.forhosting.com/date/js-timestamp-to-iso \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"timestamp":1717245296789}'const res = await fetch("https://api.kit.forhosting.com/date/js-timestamp-to-iso", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"timestamp": 1717245296789
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/date/js-timestamp-to-iso",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"timestamp": 1717245296789
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/date/js-timestamp-to-iso", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"timestamp":1717245296789}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"timestamp":1717245296789}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/date/js-timestamp-to-iso", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Exemple de requête
{
"timestamp": 1717245296789
}Exemple de réponse
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "date.js_timestamp_to_iso",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}L’API est asynchrone : chaque appel renvoie un task_id immédiatement, puis vous interrogez l’état à raison d’une requête par seconde.
Tarifs
Le prix est publié, sans tokens ni crédits. Une tâche qui échoue n’est pas facturée.
Erreurs
| HTTP | Code | Signification |
|---|---|---|
401 | unauthorized | Clé API absente ou invalide : vérifiez l’en-tête Authorization. |
402 | insufficient_balance | Solde insuffisant : rechargez votre compte pour lancer cette tâche. |
404 | unknown_type | Type de tâche inconnu : vérifiez le champ type de votre requête. |
429 | rate_limited | Trop de requêtes : ralentissez la cadence, puis réessayez. |
Notes techniques
Saisissez des millisecondes, pas des secondes
Les timestamps JavaScript comptent généralement les millisecondes depuis 1970-01-01T00:00:00.000Z, tandis que de nombreux outils Unix et API comptent les secondes. Le champ timestamp_ms répète le nombre accepté afin de conserver un lien explicite entre la donnée source et sa représentation formatée.
Utilisez la sortie en toute sécurité
Vous pouvez appeler l’API pour $0.002 ou utiliser le navigateur avec un résultat toujours reproductible.
Cas d'intégration
Créer des fixtures stables
Produisez une valeur ISO canonique depuis un timestamp fixe sans influence de l’horloge ni du fuseau.