Se hai un timestamp Unix, puoi utilizzare DATETIME() di SQLite funzione con unixepoch modificatore per calcolare la data e l'ora effettive.
In alternativa puoi usare DATE() funzione se hai solo bisogno della data da restituire. Ed è anche possibile utilizzare TIME() funzione per restituire solo la parte temporale.
Ottieni la data e l'ora
Ecco un esempio di utilizzo di DATETIME() funzione con unixepoch modificatore:
SELECT DATETIME(1793956207, 'unixepoch'); Risultato:
2026-11-06 09:10:07
Ottieni la data
Possiamo usare DATE() funzione se abbiamo solo bisogno della data da restituire:
SELECT DATE(1793956207, 'unixepoch'); Risultato:
2026-11-06
Ottieni il tempo
Usando il TIME() la funzione restituisce solo la parte temporale:
SELECT TIME(1793956207, 'unixepoch'); Risultato:
09:10:07
Compensa per il tuo fuso orario locale
Puoi anche aggiungere l'localtime modificatore per regolare l'output in base al fuso orario locale:
SELECT DATETIME(1793956207, 'unixepoch', 'localtime'); Risultato:
2026-11-06 19:10:07
L'localtime modificatore presuppone che il valore dell'ora specificato sia in UTC (Universal Coordinated Time) e regola tale valore in modo che sia in localtime .
Il auto Modificatore
Da SQLite 3.38.0, possiamo usare auto modificatore al posto di unixepoch modificatore:
SELECT DATETIME(1793956207, 'auto'); Risultato:
2026-11-06 09:10:07
Il modificatore automatico fa sì che il valore venga interpretato come un numero del giorno giuliano o un timestamp Unix, a seconda del valore effettivo.
Se il valore è compreso tra 0.0 e 5373484.499999 , quindi viene interpretato come un numero del giorno giuliano (corrispondente a date comprese tra -4713-11-24 12:00:00 e 9999-12-31 23:59:59 , compreso). Per valori numerici al di fuori dell'intervallo di numeri di giorni giuliani validi, ma nell'intervallo -210866760000 a 253402300799 , il auto modificatore fa in modo che il valore venga interpretato come un timestamp Unix. Altri valori numerici non rientrano nell'intervallo e causano un ritorno NULL.