スプレッドシートにおける日付、時間の扱い

  • このエントリーをはてなブックマークに追加
  • LINEで送る

どんなシステムでも日付、時間の扱いがあると思いますが、スプレッドシートではどうなのでしょう。

てっとり早く数値で比較してみました。

基準となる整数の0は「1989年12月30日 0時0分0秒」でした。
また、整数の1は「1989年12月31日 0時0分0秒」であることから、整数部分は基準日からの日数を表していることが分かります。

今度は日付文字列を基準に、秒を変えて表示してみました。数値は小数点第15位まで表示しています。
基準に対して1秒進めた「1989/12/30 00:00:01」では「00000.000011574074074」となりました。

これは1を1日の秒数(246060[=86400])で割った値に相当します。

結果のスプレッドシートはこちらです。

.NETのC#におけるTicksと上手く比較できないかと考えていたのですが、あちらはグレゴリオ暦の0年1月1日 0時0分0秒が基準であり、且つ1Tick当たり100ナノ秒ととてつもなくミスマッチなので、潔くあきらめました。

スプレッドシートにおいて、小数を扱った秒数のカウントは危険ですのでご注意ください。
時間、分、秒の演算を行うときは「time()」関数を利用しましょう。

追記
Excelも調べてみました。
Excelは基準日が「1900年1月1日 0時0分0秒」でしたが、時刻の考え方は一緒なんですね。

SNSでもご購読できます。

スポンサー リンク

コメントを残す

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください