Di Oracle Database, kita dapat menggunakan teknik berikut untuk mengembalikan tanggal dari nilai stempel waktu Unix.
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 ini contoh mengonversi stempel waktu Unix menjadi DATE
nilai:
SELECT
TO_DATE( '1970-01-01', 'YYYY-MM-DD' ) + NUMTODSINTERVAL( 1650321073, 'SECOND' )
FROM DUAL;
Hasil:
18-APR-22
Di sini, kami menggunakan TO_DATE()
berfungsi untuk menyusun tanggal 1970-01-01. Kami kemudian menambahkan cap waktu Unix kami ke tanggal itu untuk mendapatkan hasil kami. Dalam hal ini, kami menggunakan NUMTODSINTERVAL()
untuk mengubah cap waktu Unix menjadi interval
nilai. Hasilnya adalah DATE
nilai.
Dapatkan Tanggal dan Waktu
Kita dapat menggunakan TO_TIMESTAMP()
berfungsi untuk menampilkan timestamp
nilai:
SELECT
TO_TIMESTAMP( '1970-01-01', 'YYYY-MM-DD' ) + NUMTODSINTERVAL( 1650321073, 'SECOND' )
FROM DUAL;
Hasil:
18-APR-22 10.31.13.000000 PM
Cara lain untuk melakukannya adalah seperti ini:
SELECT TO_CHAR(
TO_DATE( '1970-01-01', 'YYYY-MM-DD' ) + numtodsinterval( 1650321073, 'SECOND' ),
'YYYY-MM-DD HH24:MI:SS'
)
FROM DUAL;
Hasil:
2022-04-18 22:31:13
Di sini, kami menggunakan TO_CHAR()
fungsi untuk menampilkan hasil yang dikembalikan oleh TO_DATE()
dalam format pilihan kami. Fungsi ini mengembalikan hasilnya sebagai VARCHAR2
nilai.