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

Hent dato/klokkeslæt fra et Unix-tidsstempel i SQLite

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.


  1. MariaDB CURRENT_TIME() Forklaret

  2. Importer/eksporter database med SQL Server Server Management Studio

  3. MySQL LIMIT-klausul svarer til SQL SERVER

  4. Databasernes historie