時々、UNIX形式で時刻のデータを受け取ることがあります。

たとえばAPIの応答結果や何かのログデータなどにunix形式のタイムスタンプ(時刻データ)が含まれていたりするのです。

お手元のPCがMacなら、コンソールからdateコマンドを実行すると以下のようにサクッとUNIX形式のタイムスタンプを我々が読みやすい書式に変換することが可能です。

そのままdateを実行すると現在の時間を表示するだけですが、-rオプションをつけてその後にUNIX形式のタイムスタンプを指定すると書式変換をしてくれます。

# ただ実行すると、現在の時刻が表示される
$ date
2023年 1月18日 水曜日 14時19分03秒 JST

# -rのオプションをつけるとUNIX形式のタイムスタンプを読みやすい形式に変換してくれる
$ date -r 1679192319
2023年 3月19日 日曜日 11時18分39秒 JST

UNIXタイムスタンプを変換してくれるWebサービスなんかもありあますが、コマンドラインで変換してしまう方がよりお手軽で素早いかもしれません。

ちなみに、あまり使わないかもですが、+%sのオプションをつけるとdateコマンドはUNIX形式で現在の時刻を返してくれます。

shellでプログラミングをするときなんかは場合によっては使うことがあるかもしれません。

$ date +%s
1674019627

dateコマンドはOSによって、採用しているプログラムが異なる場合があるようです(linux <> Mac <> Unixなど)。

オプションに設定できる引数の種類や形式が異なる場合もあるようです。

この記事の環境情報

  • Mac OS Ventura 13.1