日付計算ツール

2つの日付の差を見つけるか、日数を加算/減算します。

データはデバイスから出ません
日付の差はどのように計算されますか?

差は、2つの日付間の正確な暦日数を使って計算されます。結果には、便宜上、週、月、年の同等値も表示されます。うるう年は自動的に考慮されます。

うるう年は考慮されますか?

はい。すべての計算はJavaScriptのネイティブDateオブジェクトを使用しており、うるう年、月の長さ、夏時間の遷移を正しく処理します。

仕組み

  1. 計算モードを選択: 2つの日付間の差を計算するか、開始日から期間を加算/減算します。
  2. 日付を入力: ピッカーを使うか、YYYY-MM-DD形式で日付を入力します。秒単位の精度のために時刻を含めることができます。
  3. 結果を取得: 年、月、週、日、時、分、秒の差を視覚化, すべて一度に。

なぜ日付計算機を使うのか?

2つの日付間の日数を手動で数えるのは遅く、エラーが発生しやすい, 特に月をまたぐ場合、うるう年、夏時間の変更がある場合。この計算機は、すべてのカレンダーのエッジケースを正しく処理します。一般的な用途: 契約期間、年齢確認、プロジェクトのタイムライン、期限までの残り日数、イベントからの経過時間、支払い期限、サブスクリプション更新期間。加算/減算モードは、開始日から営業日、週、または月を加算して将来の日付を計算するのに役立ちます。

計算できるもの

日付計算機とは?

日付計算機は最も一般的な3つのカレンダー質問に答えます: 2つの日付を分ける日数、参照日付からN日後の日付、特定の日付についてカレンダーが言うこと (曜日、年内の日、週番号、うるう年ステータス)。各質問はツールで数秒かかり、壁掛けカレンダーで手で試したら間違いを犯しやすい10分のカウントがかかるでしょう。

カレンダー演算は端のケースでいっぱいです。2月はうるう年ルールに応じて28日または29日です。グレゴリオ暦 (1582年に導入) はいくつかの国でユリウス暦から12日のギャップがあります。サマータイムは年に2回時間を加減します。異なる国は地域的な祝日のために「営業日」を異なって定義します。よく構築された日付計算機はこれらを正しく処理するので、あなたはそれらについて考える必要はありません。

このツールはブラウザのネイティブJavaScript Dateオブジェクトを使用し、約1年から年275760まで予期的グレゴリオ暦を実装します。ツールはブラウザで動作するので、あなたの日付と誕生日は決して私たちのサーバーに触れません。3つのタブ (日付差、日数の加算/減算、日付情報) は典型的なユーザーが尋ねる日付計算質問の約95%をカバーします。

計算機の内部には何があるか

ツールは上部に3つのタブを公開します: 日付差 (2つの日付間)、日数の加算/減算 (オフセットでの日付計算)、日付情報 (単一日付の事実)。タブをクリックしてパネルを切り替えます。タブは相互排他的で、切り替えてもリロードするまで他のパネルの値は消えません。

日付差パネルは2つのHTML5日付入力 (開始日と終了日) を受け取り、各々はほとんどのプラットフォームでブラウザのネイティブ日付ピッカーでレンダリングされます。結果パネルは合計日数、コンテキストのための週、月、年の同等を表示します。うるう年と月の長さは基礎となるDateオブジェクトによって自動的に処理されます。

日数の加算/減算パネルは開始日、操作 (加算または減算)、および日数を受け取ります。結果は表示された曜日付きの計算された日付です。日付情報パネルは単一の日付を受け取り、曜日、年内の日 (1から365または366)、ISO週番号、うるう年フラグ、平易な言語での日付を表示します。すべての出力はアクションボタンをクリックした瞬間に更新されます。

歴史と背景

ユリウス暦 (紀元前45年)

紀元前45年のユリウス・カエサルによるローマ暦の改革は、アレクサンドリアの天文学者ソシゲネスによって設計され、4年に一度のうるう日を持つ365日年を導入しました。ユリウス年は平均365.25日で、真の熱帯年の約365.2422日よりわずかに長いです。漂流は16世紀までに約10日に蓄積し、グレゴリオ改革の舞台を設定しました。

グレゴリオ暦 (1582)

1582年のグレゴリオ13世の改革は、10日を削除することによって漂流を修正し (カトリック諸国では1582年10月4日が1582年10月15日に続いた)、うるう年規則を洗練しました: 100で割り切れる年は400でも割り切れない限りうるう年ではありません。だから1900年はうるう年ではなく、2000年はうるう年でした。改革は不均一に展開されました: イギリスとそのアメリカ植民地は1752年に採用 (11日削除)、ロシアは1918年、ギリシャは1923年。

Unixエポック (1970)

1960年代後半のBell Labs Unixは、時間表現の起点として1970年1月1日00:00 UTCを選びました。すべてのUnixタイムスタンプはこのエポックからの秒をカウントするので、日付はコンピューティングのいたるところにあります。JavaScriptのDateオブジェクトは内部的にUnixエポックからのミリ秒を保存し、このツールを含むすべての日付操作の計算基盤として使用します。

ISO 8601が日付表現を標準化 (1988)

ISO 8601:1988は普遍的な日付形式YYYY-MM-DD、24時間時間形式HH:MM:SS、およびISO週番号付けスキーム (週1は年の最初の木曜日を含み、週は月曜日から始まる) を定義しました。標準は2026-05-19がどの国でも同じことを意味するようにし、05/19/2026 (米国) 対19/05/2026 (英国) の曖昧さを排除します。この計算機は内部的にISO 8601を使用し、日付情報タブでISO週番号を提供します。

JavaScript Dateオブジェクト (1995)

Brendan Eichの1995年のJavaScript 1.0は、Javaのjava.util.Date (これ自体はUnixに基づく) をモデルにしたDateオブジェクトを含んでいました。それは有名に未指定で奇妙でした: 2対02のパースは異なるブラウザで異なる結果を与え、月のインデックスは1から12ではなく0から11で実行され、タイムゾーン処理は一貫していませんでした。奇妙さは今日部分的に修正されていますが、そのほとんどは後方互換性のために残っています。

Temporal API (2024年以降)

TC39 (JavaScript標準ボディ) は2024年にTemporal APIを承認し、これは長年待たれていたレガシーDateオブジェクトの代替品です。Temporalは日付、時間、datetime、期間、タイムゾーンの概念をクリーンに分離し、25年間の蓄積された奇妙さを修正します。2026年現在、Temporalはフラグの背後でとポリフィル経由で現代のブラウザに出荷されています。ブラウザサポートが普遍的になると、この計算機の将来のバージョンはTemporalを使用します。

実用的なワークフロー

プロジェクト締め切りカウントダウン

今日の日付を開始として、プロジェクトの締め切りを終了として入力し、計算をクリックします。ツールは残りの正確な日数、エグゼクティブサマリーの言い回しのための週と月を表示します。プロジェクト計画、OKRチェックイン、スプリント計画、および「2か月と12日」が「73日」よりも読みやすい設定に役立ちます。

年齢計算

誕生日を開始として、今日の日付を終了として入力します。結果は年、月、日を表示します。これは医療フォーム、学校入学、移民書類、および「27歳」だけよりも「27年3か月14日」がより正確である設定のための標準的な年齢表示です。

契約期間の検証

フリーランスの契約、雇用契約、または不動産リースの場合、合計日数を確認するために開始日と終了日を入力します。off-by-oneエラー (終了日が含まれるか除外されるかが請求に重要) をキャッチするために契約の記載期間と比較します。ツールの正確なカレンダー日数の計算は、ほとんどの会計ソフトウェアで使用されている慣習と一致します。

サブスクリプション更新計画

年間サブスクリプション (SaaS、ジム、雑誌) の場合、更新日を加算パネルで開始として入力し、365日 (または期間に応じて) を追加すると、次の更新日が得られます。ツールは月末の端のケースを自動的に処理します (2月28日に開始、365を追加、来年の3月1日を取得; うるう年の2月29日に開始、365を追加、来年の2月28日を取得)。

記念日計画

結婚記念日、創業者の日、または任意のマイルストーンの場合、加算パネルで元の日付を開始として、365 (1年) または3650 (10年) を日数として使用します。結果は記念日がどの日付と曜日に落ちるかを教えてくれるので、レストランを予約したり、お祝いをスケジュールしたりできます。25年と50年のマイルマーカーはこの方法で簡単に計算できます。

出産前スケジューリング

妊娠の予想出産日は慣例的に最終月経期間から280日です。LMPを開始として入力し、280を追加し、EDDを取得します。EDDの日付情報パネルは曜日を表示するので、病院訪問を計画できます。これは大まかな推定です; 医療提供者は超音波で確認する必要があります。

よくある落とし穴

タイムゾーン (UTC対ローカル)

JavaScript Dateオブジェクトはカレンダー日付ではなく、時間の瞬間を表します。日付ピッカーで2026-05-19を選択すると、ブラウザはそれをローカルタイムの真夜中として解釈します。複数のタイムゾーン (国際物流、フライトスケジュール) を計算している場合、結果は1日ずれる可能性があります。このツールはローカルタイムを一貫して使用するので、ほとんどの個人カレンダー質問には正しい選択ですが、国際的なコンテキストには注意してください。

サマータイムの遷移

サマータイムを観察する国 (米国、EU、オーストラリアの大部分) では、3月の1日は23時間で、11月の1日は25時間です。DST遷移を越える2つの日付間の時間を数えると、日数カウントとは1時間異なる結果が得られます。ツールは時間ではなくカレンダー日をカウントするので、DSTは日数カウント結果に影響しません; 経過時間を時間で測定する場合は重要になります。

うるう年の端のケース

年は4で割り切れる場合、世紀 (00で終わる年) を除いて、400で割り切れる必要があります。だから2000年はうるう年で、1900年はそうではなく、2100年はそうではなく、2400年はそうなります。ほとんどの計算機のバグは世紀の例外なしに「4で割り切れる」を仮定します。JavaScriptのDateがネイティブに処理するので、ツールはこれを正しく取得します。

日付計算における月末の曖昧さ

1月31日に1か月を追加すると、どの日付を取得しますか?2月28日 (または29日) が最も一般的な答えです (Excelはこれを行います)、しかし3月3日 (または2日) も弁護可能です (31日後)。異なるソフトウェア製品と法的管轄区域は、これを異なって処理します。加算/減算パネルは正確な日数カウントを使用して曖昧さを回避します。カレンダー月の加算が必要な場合は、明示的に30または31日を追加します。

1582年のカレンダーギャップ

1582年10月4日と10月15日の間に、グレゴリオ改革はカトリック諸国で10日を削除しました (後で採用した国ではもっと: 1752年のイギリスは11日、1918年のロシアは13日)。改革にまたがる日付を計算するには、予期的グレゴリオ暦 (新しいカレンダーが常に適用されたと仮定) を使用するか、歴史的な日付を使用するかを選択する必要があります。このツールはJavaScript Dateの慣習である予期的グレゴリオを使用します。1582年以前の系図学または歴史研究には、専門のツールを使用してください。

営業日は国によって異なる

米国では、営業日は土曜日、日曜日、および約11の連邦祝日を除外します。英国では、カウントは似ていますが、異なる祝日 (イースターの日付、ボクシングデー、夏の終わりのバンクホリデー)。サウジアラビアでは、週末は金曜日-土曜日です。このツールは営業日を計算しません; カレンダー日をカウントします。営業日計算には、あなたの国の祝日カレンダーを知るペイロールまたはHRツールを使用してください。

プライバシーとデータ取り扱い

すべての計算は、JavaScriptのネイティブDateオブジェクトを使用してブラウザで行われます。あなたの日付をサーバーに送信せず、入力をログに記録せず、計算に結びついたクッキーを配置しません。誕生日、契約日、およびその他の機密カレンダーデータは厳密にデバイスに留まります。ページをリロードすると、以前の入力は消えます。

ページがロードされると、ツールはオフラインで動作します。基本的な日付計算にCDNライブラリは必要ありません。ネットワークから切断して、年齢計算または締め切り計算を実行できます、何もデバイスを離れることなく。

この計算機を使わないとき

1582年以前の天文学的または歴史的な日付

当時使用されていたカレンダーで表現された日付 (初期キリスト教ヨーロッパ用のユリウス、イスラムと中国の歴史用の太陰暦) を必要とする歴史研究には、専門のカレンダーコンバーター (Steel Calendar、NASA JPL Horizons) を使用してください。このツールは予期的グレゴリオを使用し、1582年以前の出来事には異なる答えを与えます。

祝日付きの営業日計算

営業日 (週末と国固有の祝日を除く) で契約期間、支払い期限、またはサービスレベル契約クロックを計算する場合、TimeAndDate.comの営業日計算機などの国対応ツール、または会社のHRまたはペイロールシステムを使用してください。このツールはカレンダー日のみをカウントします。

繰り返しイベントスケジューラ (毎週火曜日、月次)

カレンダー反復 (毎月第2火曜日、各四半期の最初の営業日) を設定するには、Google Calendar、Apple Calendar、またはOutlookを使用してください。それらはRFC 5545 (iCalendar) からのRRULEパターンを処理し、これには数十の端のケースがあります。このツールは1回限りの日付計算用で、繰り返しスケジュールを管理するためではありません。

多くの都市にわたるタイムゾーン変換

ある時点での複数のタイムゾーン (NYC、ロンドン、東京、シドニー) にわたる会議には、World Clock Meeting Plannerのような専用ツールを使用してください。この計算機はローカル時間で動作し、マルチゾーン変換を行いません。Absolutoolのworld-clockツールがそのユースケースをカバーします。

その他の質問

曜日はどのように計算されますか?

JavaScriptのDate.getDay()は0から6 (日曜日から土曜日) の数値を返します。内部的には、エンジンはZellerの合同または類似のルックアップテーブルアルゴリズムを使用します。手による手動の曜日計算も存在します、John Conwayによるドゥームズデイアルゴリズムは数秒で精神的に曜日を計算できます。コンピュータ使用には、Date APIに頼ってください。

差を計算するときに月はどのようにカウントされますか?

いくつかの慣習が存在します。(1) 「完全な月」は日付間の完全な月をカウントします: 2月15日から4月14日は1か月 (まだ2ではない)。(2) 日を無視した月番号の差: 2月15日から4月14日は2か月。(3) 平均月長 (30.44) で割った合計日数: 2月15日から4月14日は58 / 30.44 = 1.91か月。このツールは慣習 (1) を使用し、これはほとんどの人々が年齢と期間について話す方法と一致します。

ISO週番号とは何ですか?

ISO 8601は、年の週1を最初の木曜日を含む週として定義します。週は月曜日に始まります。だから2024年1月1日 (月曜日) は2024年の週1にありましたが、2023年1月1日 (日曜日) は2022年の週52にありました。慣習はビジネスカレンダー、特にISO週番号がペイロール、小売計画、学術スケジュールに表示されるヨーロッパで重要です。日付情報タブはISO週番号を表示します。

イースターを計算できますか?

直接的にではありません。イースターサンデーは、春分後の最初の満月後の最初の日曜日で、Computusと呼ばれる複雑なアルゴリズムを使用して計算されます。このツールはイースターを計算しません。任意の年の日付については、Wikipediaの「イースターの日付のリスト」記事で年を調べてください。西洋と東洋 (正教会) のイースターは、異なるカレンダー基盤のためにしばしば異なります。

2つの日付間の労働日数を計算するにはどうしますか?

大まかな推定: 合計日数、週末を引きます。(日数 / 7) は週数を与えます; 労働日数のために5を掛け、その後残り日数の労働日を追加します。地元の祝日を含む正確な数字には、国固有の営業日計算機 (TimeAndDate.comは200以上の国で動作) を使用してください。ツール自体はカレンダー日をカウントします; 労働日調整はあなたに任されています。

会計年度計算はどうですか?

会計年度は各企業または政府が設定するカレンダーで実行されます: 米国連邦会計年度は10月1日から9月30日、英国個人税年度は4月6日から4月5日、多くの企業は1月から12月の暦年を使用します。会計年度計算には、会計年度を任意の365日スパンとして扱い、加算/減算パネルを使用して計算します。または、特定の会計定義を知る専用の財務ツールを使用してください。

関連ツール