Hvis du har et Unix-tidsstempel, kan du bruge SQLites DATETIME()
funktion med unixepoch
modifikator til at beregne den faktiske dato og klokkeslæt.
Du kan alternativt bruge DATE()
funktion, hvis du kun skal have datoen retur. Og det er også muligt at bruge TIME()
funktion for kun at returnere tidsdelen.
Hent dato og klokkeslæt
Her er et eksempel på brug af DATETIME()
funktion med unixepoch
modifikator:
SELECT DATETIME(1793956207, 'unixepoch');
Resultat:
2026-11-06 09:10:07
Hent datoen
Vi kan bruge DATE()
funktion, hvis vi kun skal have datoen tilbage:
SELECT DATE(1793956207, 'unixepoch');
Resultat:
2026-11-06
Få tiden
Brug af TIME()
funktion returnerer kun tidsdelen:
SELECT TIME(1793956207, 'unixepoch');
Resultat:
09:10:07
Kompenser for din lokale tidszone
Du kan også tilføje localtime
modifikator for at justere output til din lokale tidszone:
SELECT DATETIME(1793956207, 'unixepoch', 'localtime');
Resultat:
2026-11-06 19:10:07
localtime
modifikator antager, at den angivne tidsværdi er i Universal Coordinated Time (UTC) og justerer denne tidsværdi, så den er i localtime
.
auto
Modifikator
Fra SQLite 3.38.0 kan vi bruge auto
modifikator i stedet for unixepoch
modifikator:
SELECT DATETIME(1793956207, 'auto');
Resultat:
2026-11-06 09:10:07
Den automatiske modifikator får værdien til at blive fortolket som enten et juliansk dagnummer eller et Unix-tidsstempel, afhængigt af den faktiske værdi.
Hvis værdien er mellem 0.0
og 5373484.499999
, så tolkes det som et juliansk dagnummer (svarende til datoer mellem -4713-11-24 12:00:00
og 9999-12-31 23:59:59
, inklusive). For numeriske værdier uden for intervallet af gyldige julianske dagtal, men inden for intervallet -210866760000
til 253402300799
, auto
modifikator får værdien til at blive fortolket som et Unix-tidsstempel. Andre numeriske værdier er uden for området og forårsager et NULL-retur.