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.