In PostgreSQL kunnen we de extract()
. gebruiken functie samen met de epoch
argument om de Unix-tijdstempel te retourneren.
We kunnen de Unix-tijdstempel retourneren op basis van de huidige datum/tijd, of we kunnen deze ophalen op basis van een andere gespecificeerde datum/tijd.
De Unix-tijdstempel (ook bekend als Unix Epoch-tijd, Unix-tijd of POSIX-tijd) is het aantal seconden dat is verstreken sinds 00:00:00 donderdag 1 januari 1970 Coordinated Universal Time (UTC).
De huidige Unix-tijdstempel ophalen
Hier is een voorbeeld van het ophalen van de Unix-tijdstempel van de huidige datum en tijd:
SELECT extract(epoch from now());
Resultaat:
1650152298.430101
Datumwaarden
Hier is een voorbeeld van het ophalen van de Unix-tijdstempel van een opgegeven date
waarde:
SELECT extract(epoch from date '2030-08-15');
Resultaat:
1912982400
Bij gebruik met date
waarden, epoch
geeft het nominale aantal seconden terug sinds 01-01-1900 00:00:00, zonder rekening te houden met tijdzone- of zomertijdregels.
Tijdstempelwaarden
Hier is een voorbeeld van het ophalen van de Unix-tijdstempel van een opgegeven timestamp
waarde:
SELECT extract(epoch from timestamp '2030-08-15 03:30:45');
Resultaat:
1912995045
Bij gebruik met timestamp
waarden, epoch
geeft het nominale aantal seconden terug sinds 1970-01-01 00:00:00, zonder rekening te houden met tijdzone- of zomertijdregels. Dit is hetzelfde als bij het gebruik van date
waarden.
Tijdstempel met tijdzonewaarde
Hier is een voorbeeld van het ophalen van de Unix-tijdstempel van een opgegeven timestamp with time zone
waarde:
SELECT extract(
epoch from timestamp with time zone '2030-08-15 03:30:45.12-08'
);
Resultaat:
1913023845.12
Bij gebruik met timestamp with time zone
waarden, epoch
geeft het aantal seconden terug sinds 1970-01-01 00:00:00 UTC (negatief voor tijdstempels daarvoor)
Intervallen
We kunnen ook een Unix-tijdstempel krijgen van een interval
waarde:
SELECT extract(epoch from interval '7 days 2 hours');
Resultaat:
612000
Bij gebruik met interval
waarden, epoch
geeft het totale aantal seconden in het interval terug.