MacのdateコマンドでUNIX時間を読める日時形式に変換する
時々、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
Macに関する他の記事を読む
最近の記事を読む
- Flutterでcontextを使わずにlocale情報を取得する
- Cloud RunでIAPを有効にしようとしてハマったこと
- slimでtype='application/ld+json'のscriptタグを書く
- タグマネージャーでjsのloadイベントを発火させたいとき
- mysqlコマンドを実行してERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)と言われたら