Di PostgreSQL, kita dapat menggunakan extract()
berfungsi bersama dengan epoch
argumen untuk mengembalikan stempel waktu Unix.
Kami dapat mengembalikan stempel waktu Unix berdasarkan tanggal/waktu saat ini, atau kami dapat memperolehnya berdasarkan tanggal/waktu lain yang ditentukan.
Stempel waktu Unix (juga dikenal sebagai waktu Unix Epoch, waktu Unix, atau waktu POSIX) adalah jumlah detik yang telah berlalu sejak 00:00:00 Kamis, 1 Januari 1970, Waktu Universal Terkoordinasi (UTC).
Dapatkan Stempel Waktu Unix Saat Ini
Berikut ini contoh mendapatkan stempel waktu Unix dari tanggal dan waktu saat ini:
SELECT extract(epoch from now());
Hasil:
1650152298.430101
Nilai Tanggal
Berikut adalah contoh mendapatkan stempel waktu Unix dari date
yang ditentukan nilai:
SELECT extract(epoch from date '2030-08-15');
Hasil:
1912982400
Saat digunakan dengan date
nilai, epoch
mengembalikan jumlah detik nominal sejak 1970-01-01 00:00:00, tanpa memperhatikan zona waktu atau aturan waktu musim panas.
Nilai Stempel Waktu
Berikut ini contoh mendapatkan stempel waktu Unix dari timestamp
yang ditentukan nilai:
SELECT extract(epoch from timestamp '2030-08-15 03:30:45');
Hasil:
1912995045
Saat digunakan dengan timestamp
nilai, epoch
mengembalikan jumlah detik nominal sejak 1970-01-01 00:00:00, tanpa memperhatikan zona waktu atau aturan musim panas. Ini sama seperti saat menggunakan date
nilai.
Stempel Waktu Dengan Nilai Zona Waktu
Berikut adalah contoh mendapatkan stempel waktu Unix dari timestamp with time zone
yang ditentukan nilai:
SELECT extract(
epoch from timestamp with time zone '2030-08-15 03:30:45.12-08'
);
Hasil:
1913023845.12
Saat digunakan dengan timestamp with time zone
nilai, epoch
mengembalikan jumlah detik sejak 1970-01-01 00:00:00 UTC (negatif untuk stempel waktu sebelum itu)
Interval
Kita juga bisa mendapatkan stempel waktu Unix dari interval
nilai:
SELECT extract(epoch from interval '7 days 2 hours');
Hasil:
612000
Saat digunakan dengan interval
nilai, epoch
mengembalikan jumlah detik dalam interval.