In PostgreSQL können wir den extract()
verwenden Funktion zusammen mit der epoch
Argument, um den Unix-Zeitstempel zurückzugeben.
Wir können den Unix-Zeitstempel basierend auf dem aktuellen Datum/der aktuellen Uhrzeit zurückgeben oder wir können ihn basierend auf einem anderen angegebenen Datum/einer anderen angegebenen Uhrzeit abrufen.
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.
Aktuellen Unix-Zeitstempel abrufen
Hier ist ein Beispiel für das Abrufen des Unix-Zeitstempels aus dem aktuellen Datum und der aktuellen Uhrzeit:
SELECT extract(epoch from now());
Ergebnis:
1650152298.430101
Datumswerte
Hier ist ein Beispiel für das Abrufen des Unix-Zeitstempels von einem bestimmten date
Wert:
SELECT extract(epoch from date '2030-08-15');
Ergebnis:
1912982400
Bei Verwendung mit date
Werte, epoch
gibt die nominale Anzahl von Sekunden seit dem 01.01.1970 00:00:00 zurück, ohne Rücksicht auf die Zeitzone oder Sommerzeit.
Zeitstempelwerte
Hier ist ein Beispiel für das Abrufen des Unix-Zeitstempels von einem angegebenen timestamp
Wert:
SELECT extract(epoch from timestamp '2030-08-15 03:30:45');
Ergebnis:
1912995045
Bei Verwendung mit timestamp
Werte, epoch
gibt die nominelle Anzahl von Sekunden seit 1970-01-01 00:00:00 zurück, ohne Rücksicht auf Zeitzone oder Sommerzeitregeln. Dies ist dasselbe wie bei der Verwendung von date
Werte.
Zeitstempel mit Zeitzonenwert
Hier ist ein Beispiel für das Abrufen des Unix-Zeitstempels von einem angegebenen timestamp with time zone
Wert:
SELECT extract(
epoch from timestamp with time zone '2030-08-15 03:30:45.12-08'
);
Ergebnis:
1913023845.12
Bei Verwendung mit timestamp with time zone
Werte, epoch
gibt die Anzahl der Sekunden seit dem 01.01.1970 00:00:00 UTC zurück (negativ für Zeitstempel davor)
Intervalle
Wir können auch einen Unix-Zeitstempel aus einem interval
erhalten Wert:
SELECT extract(epoch from interval '7 days 2 hours');
Ergebnis:
612000
Bei Verwendung mit interval
Werte, epoch
gibt die Gesamtzahl der Sekunden im Intervall zurück.