なぜコンピュータではUNIX時間が使われているか?

「2017年2月27日」「15時21分」などと私たち人間は年や月、時分で時間を表現しますがコンピュータの内部では違うんです。

コンピュータの内部ではUnix時間というものが使われているんです。

UNIX時間とは?

1970年1月1日の0時0分(UTC)から経過した秒数で表示しているんです。

例えばこの記事を書いている2017/04/30だったら1493527628秒と、15億秒弱です。

Time.isというサイトで現在のUnix時間を確認できます。現在のUNIX時間をどかどかと表示してくれるんです。こういう一つのことに特化したシンプルなウェブサイト(サービス)好きですw。

もちろん、人間が「1493527628秒」と見てもいつかよくわからないので、人間向けには「2017年4月30日12:58:32」といった年月日・時分秒のタイムゾーンを考慮した形式に変換しています。

UNIX時間のメリット

そのUnix 時間のメリットとは何なんでしょうか?

  • 年、時分秒といっったわずらわしい単位がない:年数を西暦で表示するのか元号なのか、時間を2桁にするか1桁にするか、月ー日ー年の順番にするか、日ー月ー年の順番にするかといった問題がありません。
  • タイムゾーンを考慮しなくてよい:日本のタイムゾーンは一つですが世界に行くとタイムゾーンが変わります。例えば日本とフランスの時差は7時間です。時差が1時間刻みならまだいいんですが、世界には30分刻みの時差だったり、15分刻みの時差だったりします。また夏時間があるのはいうまでもありません。
  • 正の整数である:小数点や数字以外の文字列、負の数がない正の整数ということでデータベースでも扱いやすいんです。データベース君はデータを探すときに「カラムにはアルファベットやマイナスの数はないから正の整数だけ予想していればいいんだな」と構えることができるので検索が高速になるんです。

というメリットがあるからです。

Pocket