Convertitore di timestamp JavaScript in ISO 8601
Converta un timestamp JavaScript in una data e ora ISO 8601 precisa senza dipendere dall’ora corrente, dalle impostazioni locali del browser o dall’orologio del server.
Esegui gratis nel browser
Inserisca un intero che esprime i millisecondi trascorsi dall’epoca Unix e riceverà la data UTC corrispondente, con tre cifre per i millisecondi e una Z finale. Il calcolo è deterministico: lo stesso numero produce sempre la stessa stringa. Sono ammessi valori negativi anteriori al 1970 e l’intero intervallo temporale JavaScript, utile per log, migrazioni e test riproducibili.
Inserisca millisecondi, non secondi
I timestamp JavaScript normalmente contano i millisecondi da 1970-01-01T00:00:00.000Z, mentre molti strumenti Unix e API contano i secondi. Questo fattore mille è la causa più comune di conversioni inattese. Incolli il valore numerico esattamente come viene fornito da JavaScript, senza virgolette, separatori, suffissi o espressioni. Il convertitore accetta interi perché una stringa ISO con tre cifre decimali rappresenta esattamente millisecondi interi. Rifiuta decimali, valori non finiti e testo numerico invece di arrotondare o indovinare. Tale rigidità impedisce che un dato errato generi una data plausibile ma falsa. Se la fonte misura i secondi, moltiplichi il valore per mille prima dell’invio, purché il risultato rimanga nell’intervallo supportato. Il campo timestamp_ms ripete il numero accettato, mantenendo un collegamento esplicito tra il dato originale e la sua rappresentazione formattata.
Comprenda il risultato UTC deterministico
Il risultato è una data e ora ISO 8601 in UTC. La Z finale indica uno scarto zero da UTC, non il fuso locale di chi invia la richiesta. Ore, minuti, secondi e millisecondi restano quindi stabili tra regioni, ora legale e configurazioni di runtime. Il calcolo non legge l’orologio e non usa l’oggetto Date di JavaScript. Divide il timestamp in un giorno UTC intero e in un orario non negativo al suo interno, quindi converte il conteggio con aritmetica gregoriana limitata. Ciò rende identico il risultato a prescindere dalla lingua o dal momento di esecuzione. Per i valori negativi usa la divisione per difetto: il millisecondo precedente all’epoca Unix appartiene correttamente al 1969-12-31. Gli anni fuori dall’intervallo 0000–9999 adottano la forma estesa con segno.
Utilizzi l’output in modo sicuro
Usi il campo iso quando un’etichetta UTC canonica è più leggibile di un numero epoch: log strutturati, console, audit, fixture JSON, rapporti di migrazione o risposte API. Conservare numero e stringa aiuta a individuare scambi tra secondi e millisecondi. La conversione formatta soltanto; non localizza un fuso, non deduce dove sia avvenuto un evento e non crea una visualizzazione regionale. Esegua separatamente tali passaggi, mantenendo UTC come formato di trasporto. L’intervallo accettato coincide con il limite JavaScript: più o meno 8,640,000,000,000,000 millisecondi. Sono rifiutati valori esterni, NaN, Infinity, assenze, stringhe e frazioni. Rete, casualità, impostazioni locali e orologio non influenzano la risposta. Lei può chiamare l’API per $0.002 oppure usare il browser ottenendo sempre un risultato riproducibile.
Casi d'uso
Leggere i log applicativi
Trasformi un campo opaco in millisecondi in un istante UTC confrontabile tra servizi e regioni.
Creare fixture stabili
Generi un valore ISO canonico da un timestamp fisso senza influenze dell’orologio o del fuso.
Verificare migrazioni temporali
Mantenga il numero originale accanto alla forma ISO durante il controllo delle trasformazioni dei dati.
Domande frequenti
L’input usa secondi o millisecondi?
Millisecondi. I timestamp JavaScript contano dall’epoca Unix; moltiplichi prima per 1,000 i valori in secondi.
Viene usato il mio fuso orario locale?
No. L’output è sempre UTC, come indica la Z finale, e non dipende dal browser o dal server.
Si possono convertire date anteriori al 1970?
Sì. Inserisca un timestamp negativo per ottenere la data UTC gregoriana corrispondente.
Perché i valori frazionari sono rifiutati?
Il contratto rappresenta millisecondi interi esatti ed emette tre cifre, evitando arrotondamenti silenziosi.
Quanto costa?
Ogni conversione via API costa $0.002. L’esecuzione nel browser consente anche conversioni interattive deterministiche.
Per sviluppatori — accesso via API
Tutto quello che vedi in questa pagina è disponibile anche via API. Questa sezione è per i team che vogliono integrarlo nei propri sistemi; chi non ne ha bisogno può semplicemente usare lo strumento qui sopra.
Endpoint
Autenticazione con Bearer token: un POST mette in coda l'attività e il risultato arriva via webhook o link firmato.
Chiamala dal tuo 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)Esempio di richiesta
{
"timestamp": 1717245296789
}Esempio di risposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "date.js_timestamp_to_iso",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}L'API è asincrona: ricevi subito un task_id e puoi fare polling fino a 1 richiesta al secondo.
Prezzi
Prezzo pubblicato, senza token né crediti. Se l'attività fallisce, non paghi.
Errori
| HTTP | Codice | Significato |
|---|---|---|
401 | unauthorized | Chiave API mancante o non valida: controlla l'header Authorization. |
402 | insufficient_balance | Credito esaurito: ricarica per continuare a eseguire attività. |
404 | unknown_type | Tipo di attività sconosciuto: controlla il campo type della richiesta. |
429 | rate_limited | Troppe richieste in poco tempo: rallenta e riprova tra qualche secondo. |