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.