ツール|日付の計算(日数・UNIX時間)

日付間の日数、週数、時分秒を計算しつつUNIX時間をミリ秒で相互変換しタイムゾーンまで指定できる小粋な計算機。ついでに和暦・西暦変換器もつけました。

日付設定

年月日時分秒UNIX時間
開始日.ミリ秒
終了日.ミリ秒
エラー:無効な文字があるか、日付の上限(275760-09-13T00:00:00Z)を超えているかだと思います。

経過時間(終了日−開始日)

週数
日数
時分秒時間.
分秒.
ミリ秒
※日数は「日付を跨いだら1日」でカウントします。
(「24時間経過したら」ではありません)

UNIX時間設定

タイムゾーン(UTCとの時差)
※日本(JST)は+9時間。
終了日に審判の日を設定(2038年問題)

おまけ|和暦・西暦変換

西暦
令和
平成
昭和
大正
明治
※1年の前は0年として計算します。
- Webツール

UNIX時間(POSIX時間)

コンピューターの内部で使う時間表現。秒単位の時間表現だが、ミリ秒単位で扱うプログラミング言語も多い。

協定世界時 (UTC) の1970年1月1日午前0時0分0秒(UNIXエポック)をゼロ秒として、そこからの経過秒数で日時を表す。日時を表すものであるため閏秒調整を施しており、GPS時刻のように本当の経過秒数を表すものではない。この起点時刻はUNIXが実装された時にキリがよかったというだけで、それ以上の意味はないらしい。

2038年問題

2038年1月19日3時14分7秒(UTC)を過ぎると、一部のコンピューターが誤作動する可能性がある問題。

この日付はUNIXエポックから2147483647秒後であり、これは32ビット符号付き整数(int型)の最大値である。そのためUNIX時間をint型で扱っている場合、2038年にオーバーフローを起こして誤作動を起こしてしまう。

対策としては、64ビット符号付き整数(long型)を使用するのが一般的。その場合はおおよそ西暦3000億まで使えるようになる。そのころには地球がなくなっているはずなので、時間の計り方も変わっているだろうからまず問題ない。

何らかの都合で64ビット符号付き整数を使えない場合は、次善の策として32ビット符号なし整数(unsigned int型)を使う手もある。これだと2106年2月7日6時28分15秒まで使える。そのころに人類が健在かはわからないが地球は健在と思われるので、できればlong型にしたい。

- Webツール

矢野ヒロタ /1988年生まれ。プログラマー、会社員。仕事で培ったWebやスマホアプリの技術を発信すると見せかけてもっぱら妄想を綴っています。よしなに。