仕様と根拠

2 つの日付システム

Excel の日付は、ある基準日からの日数(シリアル値)で保存されます。1900 システムは 1900-01-01 を 1 と数え、Windows の Excel の既定です。1904 システムは 1904-01-01 を 0 と数え、古い Mac の Excel の既定でした。同じ日付でもシリアル値は 1,462 日ずれ、2011-07-05 は前者で 40729、後者で 39267 です(Microsoft の説明)。

1900 年の閏年の扱い

Excel は 1900 年を閏年として扱います(Lotus 1-2-3 との互換のため。実際の暦では閏年ではありません)。そのため 1900 システムのシリアル値 60 は存在しない「1900-02-29」になり、このツールは変換せず警告します。61 以上は 1899-12-30 に日数を足し、1〜59 は 1899-12-31 に足して暦どおりの日付を出します。

時刻と上限

小数点以下は 1 日を 1 とした時刻の割合で、0.5 は 12:00:00 です。秒単位に丸めて ISO 8601 の日時(2011-07-05T12:00:00)で出します。年が 4 桁で表せる 9999-12-31 を上限とし、これを超える数値は日付ではないものとしてエラーにします。タイムゾーンは扱わず、表示は Excel と同じ現地時刻のままです。

根拠にした仕様・資料

仕様・資料と確認日
仕様・資料確認日使った箇所
Microsoft サポート: Date systems in Excel2026年10月28日1900 システムと 1904 システムの起点・2011-07-05 の値(40729 / 39267)・差 1,462 日
Microsoft Learn: Excel incorrectly assumes that the year 1900 is a leap year2026年10月28日Excel は 1900 年を閏年と扱う・1900-03-01 より前は WEEKDAY が不正

指摘の段階

入力の扱い(送信しない仕組み)

処理はすべてお使いのブラウザの中で行います。処理の本体はこのサイトから配信する小さなスクリプト(/app.js)で、外部のサービスやライブラリを読み込みません。ページはブラウザに通信を禁止させる設定(Content-Security-Policy の connect-src)つきで配信しており、入力した内容がサーバーや第三者へ送られることはありません。ファイルを選んだ場合も、端末の中で読み込むだけです。

このツールでできないこと(制約)

ご利用にあたって

  • 日付の起点と 1900 年の扱いは Microsoft の公開説明にもとづきます。上限の 9999-12-31 は ISO 8601 の 4 桁の年にそろえたこのツールの設定で、Excel 本体の上限を示すものではありません。
  • 契約・会計などに使う日付は、変換結果を元の資料と見比べて確認してください。