PostgreSQL
 sql >> Datenbank >  >> RDS >> PostgreSQL

Gibt den Unix-Zeitstempel in PostgreSQL zurück

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.