SQLite
 sql >> Datenbank >  >> RDS >> SQLite

Holen Sie sich das Datum/die Uhrzeit von einem Unix-Zeitstempel in SQLite

Wenn Sie einen Unix-Zeitstempel haben, können Sie DATETIME() von SQLite verwenden Funktion mit dem unixepoch Modifikator zur Berechnung des tatsächlichen Datums und der Uhrzeit.

Alternativ können Sie auch das DATE() verwenden Funktion, wenn Sie nur das Datum zurückgeben möchten. Und es ist auch möglich, TIME() zu verwenden Funktion, um nur den Zeitabschnitt zurückzugeben.

Datum und Uhrzeit erhalten

Hier ist ein Beispiel für die Verwendung von DATETIME() Funktion mit dem unixepoch Modifikator:

SELECT DATETIME(1793956207, 'unixepoch');

Ergebnis:

2026-11-06 09:10:07

Datum abrufen

Wir können das DATE() verwenden Funktion, wenn wir nur das zurückzugebende Datum benötigen:

SELECT DATE(1793956207, 'unixepoch');

Ergebnis:

2026-11-06

Holen Sie sich die Zeit

Mit TIME() Funktion gibt nur den Zeitanteil zurück:

SELECT TIME(1793956207, 'unixepoch');

Ergebnis:

09:10:07

Kompensation für Ihre lokale Zeitzone

Sie können auch die localtime hinzufügen Modifikator, um die Ausgabe an Ihre lokale Zeitzone anzupassen:

SELECT DATETIME(1793956207, 'unixepoch', 'localtime');

Ergebnis:

2026-11-06 19:10:07

Die localtime Der Modifikator geht davon aus, dass der angegebene Zeitwert in Universal Coordinated Time (UTC) angegeben ist, und passt diesen Zeitwert so an, dass er in localtime liegt .

Das auto Modifikator

Ab SQLite 3.38.0 können wir auto verwenden Modifikator anstelle von unixepoch Modifikator:

SELECT DATETIME(1793956207, 'auto');

Ergebnis:

2026-11-06 09:10:07

Der Auto-Modifikator bewirkt, dass der Wert entweder als Julianische Tageszahl oder als Unix-Zeitstempel interpretiert wird, abhängig vom tatsächlichen Wert.

Wenn der Wert zwischen 0.0 liegt und 5373484.499999 , dann wird sie als julianische Tageszahl interpretiert (entspricht Datumsangaben zwischen -4713-11-24 12:00:00 und 9999-12-31 23:59:59 , inklusive). Für numerische Werte außerhalb des Bereichs gültiger julianischer Tageszahlen, aber innerhalb des Bereichs von -210866760000 an 253402300799 , das auto modifier bewirkt, dass der Wert als Unix-Zeitstempel interpretiert wird. Andere numerische Werte liegen außerhalb des zulässigen Bereichs und führen zu einer NULL-Rückgabe.