SQLite
 sql >> Database >  >> RDS >> SQLite

Ottieni la data/ora da un timestamp Unix in SQLite

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.