In PostgreSQL können wir den to_timestamp()
verwenden Funktion zum Konvertieren eines Unix-Zeitstempelwerts in einen Datums-/Uhrzeitwert.
Der Unix-Zeitstempel (auch bekannt als Unix-Epochenzeit, Unix-Zeit oder POSIX-Zeit) ist die Anzahl der Sekunden, die seit Donnerstag, 1. Januar 1970, 00:00:00 Uhr, Koordinierte Weltzeit (UTC) verstrichen sind.
Beispiel
Hier ist ein einfaches Beispiel zur Veranschaulichung:
SELECT to_timestamp(1912995045);
Ergebnis:
2030-08-15 03:30:45+00
In diesem Fall habe ich einen bestimmten Unix-Zeitstempelwert übergeben.
Hier ist ein weiteres Beispiel, das weiter zeigt, wie das Ergebnis den bereitgestellten Unix-Zeitstempelwert widerspiegelt:
SELECT
now() AS "Current Date/Time",
extract(epoch from now()) AS "Unix Timestamp",
to_timestamp(extract(epoch from now())) AS "And back again...";
Ergebnis:
Current Date/Time | Unix Timestamp | And back again... -------------------------------+-------------------+------------------------------- 2022-04-19 19:25:27.068737+00 | 1650396327.068737 | 2022-04-19 19:25:27.068737+00
In diesem Beispiel haben wir now()
verwendet zur Ausgabe des aktuellen Datums und der Uhrzeit. Wir haben dann extract()
verwendet um den Unix-Zeitstempel aus diesem Datums- und Zeitwert zu erhalten. Schließlich haben wir to_timestamp()
verwendet um es wieder in den ursprünglichen Datums- und Uhrzeitwert umzuwandeln.
In Datum umwandeln
Wir können das Ergebnis auch als date
umwandeln Wert, um den Zeitteil zu eliminieren:
SELECT to_timestamp(1912995045)::date;
Ergebnis:
2030-08-15