シェルスクリプトでunixtimeへ変換・unixtimeから変換をしてみる
はじめに
プロジェクトのテストフェーズでunixtimeの値が妥当かどうかを確認したかったのでコマンドライン上で確認した際に使ったコマンドを共有します。
せっかくなのでunixtimeへ変換・unixtimeから変換の両方についてまとめてみました。
両方とも date
コマンドを使って実現できます。
検証環境
unixtimeから変換
unixtimeから日時表記の文字列に変換するには、 -d
オプションの引数として @ + unixtime
の形式で文字列を指定します。
unixtimeへ変換
-d オプションに渡す文字列として、数字の前に @ を付けると、 UNIX時間での指定になる。
現在日時から算出
指定した日時から算出
余談:unixtimeの始まりの値と戯れる
余談ですが、 unixtimeは「1970-01-01 00:00:00」から始まります。
UNIXエポック、
すなわち協定世界時 (UTC) での1970年1月1日午前0時0分0秒から形式的な経過秒数(すなわち、
実質的な経過秒数から、
その間に挿入された閏秒を引き、
削除された閏秒を加えたもの)として表される。
(Wikipedia引用)
unixtimeが0になるか確認してみます。
「1970-01-01 00:00:00」以前のunixtimeを取得した場合はどうなるでしょう?
マイナスになりました。
復元もできるみたいですね。
そういえば、 2038年問題 なんてのもありましたが正しく処理できるのでしょうか。
問題なく動作してますね。
ディスカッション
コメント一覧
まだ、コメントがありません