Frammenti di timestamp Unix in JavaScript
Esempi JavaScript per ottenere il timestamp attuale, convertire secondi o millisecondi Unix in oggetti Date e formattare l'output con le API integrate del browser.
Math.floor(Date.now() / 1000)Date.now()new Date().getTime()
// or
+new Date()new Date(1700000000 * 1000)new Date(1700000000 * 1000).toISOString()
// → "2023-11-15T06:13:20.000Z"new Date(1700000000 * 1000).toLocaleString()
new Date(1700000000 * 1000).toLocaleString("en-US", { timeZone: "America/New_York" })Basi dei timestamp in JavaScript
JavaScript Date memorizza il tempo come millisecondi dall'epoca Unix. Usa Date.now() quando ti servono i millisecondi e Math.floor(Date.now() / 1000) quando un'API si aspetta i secondi Unix.
Conversioni comuni in JavaScript
Quando converti un timestamp Unix in secondi in un Date, moltiplica per 1000 prima di chiamare new Date(). Usa toISOString() per l'output UTC, toUTCString() per l'output in stile HTTP e Intl.DateTimeFormat quando ti serve un fuso specifico.
Note di produzione per JavaScript
I bug sui timestamp in JavaScript nascono di solito dal mescolare i millisecondi di Date con i secondi dell'API. Tieni gli oggetti Date ai bordi della UI e fai passare attraverso le API solo numeri semplici o stringhe ISO una volta che l'unità è esplicita. Quando mostri l'ora locale, usa Intl.DateTimeFormat con un fuso con nome così il risultato è riproducibile tra browser e server.
- Usa Date.now() quando ti servono i millisecondi epoch per timer, eventi di analisi o storage del browser
- Usa Math.floor(Date.now() / 1000) quando un endpoint di backend si aspetta i secondi Unix
- Usa new Date(seconds * 1000) quando un'API invia secondi
- Usa toISOString() per stringhe UTC che possono fare il round-trip via JSON
Riferimenti JavaScript correlati
FAQ
- Date.now() restituisce secondi Unix?
- No. Date.now() restituisce millisecondi. Dividi per 1000 e arrotonda per difetto quando un'API, un database o uno strumento da riga di comando si aspetta secondi Unix.
- Dovrei memorizzare oggetti Date in JSON?
- No. Converti prima il valore in un numero o in una stringa ISO 8601. JSON non ha un tipo Date nativo, quindi i valori espliciti sono più facili da debuggare e confrontare.