Convertisseur de timestamp JavaScript en ISO 8601
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.
Lancer gratuitement
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
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. 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. 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.
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é
Employez le champ iso lorsqu’une étiquette UTC canonique est plus lisible qu’un nombre d’époque : journaux structurés, consoles, audits, fixtures JSON, rapports de migration ou réponses API. 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. Vous pouvez appeler l’API pour $0.002 ou utiliser le navigateur avec un résultat toujours reproductible.
Cas d’usage
Lire des journaux applicatifs
Transformez un champ opaque en millisecondes en instant UTC comparable entre services et régions.
Créer des fixtures stables
Produisez une valeur ISO canonique depuis un timestamp fixe sans influence de l’horloge ni du fuseau.
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 ?
Chaque conversion par API coûte $0.002. L’exécution dans le navigateur permet aussi une conversion interactive déterministe.
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. |