日時変換ツール
Unix タイムスタンプ、JavaScript ミリ秒、ISO 8601、ISO 9075、RFC 3339、RFC 7231、Mongo ObjectID、Excel シリアル値を相互変換。入力形式は自動判別します。
ひとつの時刻を、必要なあらゆる形式に変換します。
Unix タイムスタンプ、JavaScript ミリ秒、ISO 8601、ISO 9075、RFC 3339、RFC 7231、Mongo ObjectID、Excel シリアル値を相互変換。入力形式は自動判別します。
ひとつの時刻を、必要なあらゆる形式に変換します。
日時を扱ううえで最も多い間違いが、この二つの混同です。Unix タイムスタンプは 1970-01-01 UTC からの秒を数えますが、JavaScript の Date.now() はミリ秒を数えます。Unix タイムスタンプを 1000 倍せずに Date コンストラクタへ渡すと、1970 年 1 月に飛んでしまいます。目安として 10 桁なら秒、13 桁ならミリ秒で、本ツールの自動判別もこの基準で動いています。
2024-01-15T10:30:00.000Z の形式です。T が日付と時刻を区切り、Z は UTC を表します。Z ではなく +00:00 と書きます。2024-01-15 10:30:00 です。T の代わりに空白を使い、タイムゾーンを持ちません。多くのデータベースが出力する形式です。Date・Expires・Last-Modified ヘッダーで使われる HTTP 日付形式で、常に GMT で表記されます。Mongo ObjectID は 12 バイトで、先頭 4 バイトが Unix 秒による生成時刻です。つまり ObjectID には必ずタイムスタンプが埋め込まれています。本ツールはデコード時にそれを取り出し、生成時には machine / counter を捏造せず残り 8 バイトをゼロで埋めます。
Excel シリアル値は 1899-12-30 からの日数を表し、小数部がその日の時刻に対応します。この一風変わった起点は、1900 年を閏年として扱う Lotus 1-2-3 の不具合を Excel が意図的に再現しているためです。1899-12-30 を 0 日目とすることで 1900 年 3 月以降の日付がすべて整合するので、本ツールもこれを採用しています。
どの形式を入力しても、ツールはまず単一の JavaScript Date として解釈し、その同じ一瞬を 11 種類すべての形式で描画し直します。変換はすべてブラウザ内で完結し、データが送信されることはありません。