Oracle DatabaseでUNIX時間を取得・変換
Oracle Databaseで現在のエポック値を取得し、UNIX秒とUTCの日時を相互変換するコードをコピーできます。
現在のタイムスタンプを取得
SELECT ROUND((CAST(SYS_EXTRACT_UTC(SYSTIMESTAMP) AS DATE)
- DATE '1970-01-01') * 86400) FROM dual;タイムスタンプを日時に
SELECT TIMESTAMP '1970-01-01 00:00:00'
+ NUMTODSINTERVAL(1700000000, 'SECOND') FROM dual;日時をタイムスタンプに
SELECT ROUND((TO_DATE('2023-11-14 22:13:20', 'YYYY-MM-DD HH24:MI:SS')
- DATE '1970-01-01') * 86400) FROM dual;現在のUNIX時間
秒—
ミリ秒—
- UTC
- —
- 自分のタイムゾーン
- —
無料で使えます。入力内容はこのブラウザ内で処理されます。
使い方
- 最初の例をOracle Databaseの環境で実行し、現在のUNIX秒を取得します。
- 2つ目の例で1700000000をUTCの日時に変換します。
- 最後の例でその日時を再びUNIX秒に戻します。
OracleのDATE同士の差は日数です。86,400を掛けて秒に変換します。現在時刻はSYSTIMESTAMPからUTCを取り出してからDATEに変換します。