Di PostgreSQL, kita dapat menggunakan to_timestamp()
berfungsi untuk mengonversi nilai stempel waktu Unix menjadi nilai tanggal/waktu.
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).
Contoh
Berikut adalah contoh sederhana untuk ditunjukkan:
SELECT to_timestamp(1912995045);
Hasil:
2030-08-15 03:30:45+00
Dalam hal ini saya memberikan nilai stempel waktu Unix tertentu.
Berikut contoh lain yang lebih lanjut menunjukkan bagaimana hasilnya mencerminkan nilai stempel waktu Unix yang diberikan:
SELECT
now() AS "Current Date/Time",
extract(epoch from now()) AS "Unix Timestamp",
to_timestamp(extract(epoch from now())) AS "And back again...";
Hasil:
Current Date/Time | Unix Timestamp | And back again... -------------------------------+-------------------+------------------------------- 2022-04-19 19:25:27.068737+00 | 1650396327.068737 | 2022-04-19 19:25:27.068737+00
Dalam contoh ini kami menggunakan now()
untuk menampilkan tanggal dan waktu saat ini. Kami kemudian menggunakan extract()
untuk mendapatkan stempel waktu Unix dari nilai tanggal dan waktu tersebut. Terakhir, kami menggunakan to_timestamp()
untuk mengubahnya kembali ke nilai tanggal dan waktu asli.
Konversi ke Tanggal
Kami juga dapat memberikan hasilnya sebagai date
nilai untuk menghilangkan bagian waktu:
SELECT to_timestamp(1912995045)::date;
Hasil:
2030-08-15