どのデータベースにも、Unixタイムスタンプを日時に、また日時をタイムスタンプに変換する関数があります。
- MySQL — タイムスタンプ→日時
FROM_UNIXTIME(ts)、日時→タイムスタンプUNIX_TIMESTAMP(dt) - PostgreSQL —
to_timestamp(ts)、extract(epoch from dt) - SQLite —
datetime(ts, 'unixepoch') - MongoDB —
new Date(ts * 1000)(ドライバーはミリ秒を使います)
保存方法の選び方: 整数のエポックはタイムゾーンに依存せず、並べ替えや演算がシンプルなので、ログやイベントに向いています。一方、TIMESTAMPやDATETIME型は人が読みやすく、日付関数を直接使えます。多くのチームはUTCで整数として保存し、表示するときだけローカル時刻に変換します。