Che cos'è il tempo Unix?

Il tempo Unix (chiamato anche tempo epoch o timestamp POSIX) conta il tempo trascorso dalle 00:00:00 UTC del 1° gennaio 1970. I diversi sistemi lo conteggiano in unità diverse: le shell Unix, PHP e la maggior parte dei database usano i secondi, JavaScript e Java usano i millisecondi, time.time_ns() di Python, Go e InfluxDB offrono i nanosecondi e molti strumenti di tracing e logging usano i microsecondi. Lo stesso momento è 1700000000 espresso in secondi e 1700000000000000000 espresso in nanosecondi, quindi confondere l'unità sposta la data di migliaia di anni.

Descrizione dello strumento

Questo strumento converte un timestamp Unix tra secondi, millisecondi, microsecondi e nanosecondi e mostra la data a cui corrisponde. Incolla un timestamp e l'unità viene rilevata in base alla sua lunghezza, oppure scegli tu l'unità. Ogni conversione è esatta, compresi i timestamp in nanosecondi troppo grandi per un normale numero JavaScript.

Funzionalità

  • Converte tra secondi, millisecondi, microsecondi e nanosecondi in un solo passaggio
  • Rileva l'unità di input dal numero di cifre oppure consente di sceglierla
  • Mantiene la precisione completa senza errori di arrotondamento, anche per valori in nanosecondi di 19 cifre
  • Accetta frazioni (1700000000.123), valori negativi per le date precedenti al 1970 e la notazione scientifica (1.7e9)
  • Output opzionale con numeri interi per le API che si aspettano valori interi
  • Mostra la data nel formato ISO 8601 in UTC, con una precisione fino ai nanosecondi, e nel fuso orario locale
  • Nasconde i campi dei microsecondi e dei nanosecondi se non ne hai bisogno

Come funziona

Il timestamp viene letto come un numero decimale esatto e memorizzato come un numero intero di nanosecondi, usando interi a precisione arbitraria invece della virgola mobile. Ogni output divide quel valore per la dimensione della relativa unità e restituisce il risultato esatto, quindi la conversione da millisecondi a secondi restituisce 1700000000.123 invece di un valore arrotondato. Con l'opzione "Solo numeri interi", il risultato viene arrotondato per difetto all'unità in cui ricade, che è anche il modo in cui il tempo Unix gestisce le date precedenti al 1970: -1.5 secondi diventa -2.

Quando l'unità viene rilevata automaticamente, lo strumento presuppone una data compresa tra il 1973 e il 5138: fino a 11 cifre vengono interpretate come secondi, da 12 a 14 come millisecondi, da 15 a 17 come microsecondi e 18 o più come nanosecondi.

Suggerimenti

  • Il rilevamento in base alla lunghezza non riesce a distinguere i valori brevi, ad esempio un timestamp in millisecondi precedente a marzo 1973 da un timestamp in secondi. Se la data non è corretta, scegli tu l'unità di input.
  • "Adesso" inserisce l'ora corrente nell'unità in uso. I browser forniscono l'ora solo con precisione al millisecondo, quindi le ultime cifre dei valori in microsecondi e nanosecondi sono zeri.
  • Gli spazi e i caratteri di sottolineatura nell'input vengono ignorati, quindi puoi incollare valori come 1_700_000_000.