Il timestamp unix è il numero di secondi trascorsi dal 1970-01-01 00:00:00 UTC. SQLite ci fornisce un paio di modi per ottenere il timestamp di Unix.
Il STRFTIME()
Funzione
Il STRFTIME()
La funzione restituisce un valore di data e ora nel formato specificato. Possiamo usare la sostituzione della stringa di formato %s per restituire il numero di secondi da 1970-01-01 00:00:00 UTC (ovvero il timestamp unix):
SELECT STRFTIME('%s');
Risultato:
1646695406
Il UNIXEPOCH()
Funzione
Il UNIXEPOCH()
la funzione è specificamente progettata per restituire il timestamp a unix. Questa funzione è stata introdotta in SQLite 3.38.0 (rilasciato il 2 febbraio 2022), quindi funzionerà solo se stai utilizzando SQLite 3.38.0 o versioni successive:
SELECT UNIXEPOCH();
Risultato:
1646695411
Possiamo vedere che i risultati sono simili, ma ovviamente c'è una differenza a causa del tempo impiegato per eseguire ciascun esempio.
Combinato
Per sicurezza, eccoli di nuovo qui. Tranne che questa volta li eseguo entrambi all'interno dello stesso SELECT
dichiarazione:
SELECT
UNIXEPOCH(),
STRFTIME('%s');
Risultato:
UNIXEPOCH() STRFTIME('%s') ----------- -------------- 1646695558 1646695558