Om du har en Unix-tidsstämpel kan du använda SQLites DATETIME()
funktion med unixepoch
modifierare för att beräkna det faktiska datumet och tiden.
Du kan alternativt använda DATE()
funktion om du bara behöver datumet som ska returneras. Och det är också möjligt att använda TIME()
funktion för att returnera bara tidsdelen.
Hämta datum och tid
Här är ett exempel på hur du använder DATETIME()
funktion med unixepoch
modifierare:
SELECT DATETIME(1793956207, 'unixepoch');
Resultat:
2026-11-06 09:10:07
Hämta datumet
Vi kan använda DATE()
funktion om vi bara behöver datumet som ska returneras:
SELECT DATE(1793956207, 'unixepoch');
Resultat:
2026-11-06
Få tid
Använda TIME()
funktion returnerar bara tidsdelen:
SELECT TIME(1793956207, 'unixepoch');
Resultat:
09:10:07
Kompensera för din lokala tidszon
Du kan också lägga till localtime
modifierare för att justera utdata till din lokala tidszon:
SELECT DATETIME(1793956207, 'unixepoch', 'localtime');
Resultat:
2026-11-06 19:10:07
localtime
modifieraren antar att det angivna tidsvärdet är i Universal Coordinated Time (UTC) och justerar det tidsvärdet så att det är i localtime
.
auto
Modifierare
Från SQLite 3.38.0 kan vi använda auto
modifierare i stället för unixepoch
modifierare:
SELECT DATETIME(1793956207, 'auto');
Resultat:
2026-11-06 09:10:07
Den automatiska modifieraren gör att värdet tolkas som antingen ett julianskt dagnummer eller en Unix-tidsstämpel, beroende på det faktiska värdet.
Om värdet är mellan 0.0
och 5373484.499999
, då tolkas det som ett julianskt dagnummer (motsvarande datum mellan -4713-11-24 12:00:00
och 9999-12-31 23:59:59
, inklusive). För numeriska värden utanför intervallet för giltiga julianska dagnummer, men inom intervallet -210866760000
till 253402300799
, auto
modifierare gör att värdet tolkas som en Unix-tidsstämpel. Andra numeriska värden ligger utanför intervallet och orsakar en NULL-retur.