日付+週数計算・整数週後/前の年月日と曜日
基準日に正または負の整数週を7日単位で加え、計算後の年・月・日・ISO曜日番号を同じ曜日のまま求めます。
計算結果
- 計算後の年
- — 年
- 計算後の月
- — 月
- 計算後の日
- — 日
- 計算後のISO曜日番号(月=1、日=7)
- —
- 1600-01-01起点の通算日
- — 日
使い方
- 基準日の年月日を入力します。
- 後へ進むなら正、前へ戻るなら負の整数週を入力します。
- 計算後の年月日と曜日番号を確認し、基準日と同じ曜日になっていることを検算します。
計算式・考え方
基準日の通算日をS、加える整数週をWとし、結果通算日R=S+7×Wです。7日は曜日周期の倍数なので、整数週の加減でISO曜日番号は変わりません。
注意事項
- この計算では1週を常に7連続暦日とします。「翌週の月曜日」のように曜日を保ったい予定日に適しています。月末や年末、2月29日をまたいでも、7の倍数日を通算日へ加えるため、月長を仮定せず同じ曜日の日付へ移ります。
- 2024-02-29に1週を加えると2024-03-07で、どちらも木曜日のISO番号4です。ただし、「1か月後」は4週後と同じではありません。4週は常に28日ですが、暦月は28日から31日で、月末日の取り扱いも業務ごとに異なるためです。
- 週数は整数だけを受け付けます。1.5週のような入力を10.5日にすると日付専用計算の境界が曖昧になるため、半週が必要な場合は意図する整数日に直して日数加算を使います。入力の縮約や自動丸めを行わないことで、上下どちらの週へ寄せたか分からない状態を避けます。
- 毎週の練習、点検、配送、定例会の候補日を作る第一次計算に使えますが、実際の開催日は祝日、会社休業日、月末調整で移動する場合があります。本ページは連続週の暦日だけを返し、機関ごとの営業カレンダーを暗黙に適用しません。
- うるう年規則は米国海軍天文台USNOのLeap Years(aa.usno.navy.milの公式FAQ)とNISTのLeap Seconds FAQs(nist.govのTime and Frequency Division)を2026年7月13日に確認しました。4で割り切れる年を原則とし、100で割り切れる年を除き、400で割り切れる年を戻す規則です。
- 日付の表現はISO 8601-1:2019公式ページ(iso.org、standard 70907)とISOの『ISO 8601 — Date and time format』解説を2026年7月13日に確認し、本文ではYYYY-MM-DDの年・月・日の順を使います。入力欄は可読性のため別々にしていますが、年月日の意味はこの順序で固定です。
- ISO曜日番号は月曜日=1、火曜日=2、水曜日=3、木曜日=4、金曜日=5、土曜日=6、日曜日=7です。無償で参照できるIETF RFC 3339(datatracker.ietf.orgの公式HTML)のdate-wday定義と照合しました。JavaScriptのDate.getDayが採る日曜日=0の規約とは番号が異なるため、転記時は規約名も残してください。
- 対応範囲は1600-01-01から9999-12-31までです。この間を、1582年の導入や各地域の採用日による日付の飛びを入れないproleptic Gregorian(過去にも規則を連続適用する正規グレゴリオ暦)として扱います。歴史資料の当時の現地暦、ユリウス暦、改暦時に削除された日を再現するツールではありません。
- 「1日」は連続する暦日の境界を1つ進む意味で、86,400秒の実時間をタイムゾーン上で加算する意味ではありません。時刻、UTCオフセット、サマータイム、うるう秒は入力に持たず、年月日だけを扱います。時刻間隔が必要な予約、運行、ログ解析では、IANAタイムゾーンを扱える専用ライブラリを使ってください。
- 内部では1600-01-01を0とする整数通算日へ変換し、差、加算、減算を行います。年を365日ずつ数え、4年、100年、400年ごとの補正を整数除算で加減するため、ブラウザのローカル時刻解釈や、1970年起点のミリ秒値に依存しません。通算日からの逆変換も同じ月長で確認します。
- 年・月・日はすべて整数に限定します。2月30日、4月31日、平年の2月29日など、個々の欄の上限だけでは検出できない組合せは、計算前の日付制約で拒否します。計算後の通算日が範囲外に出る場合も結果を丸めたり循環させたりせず、入力エラーとしてfail-closedに停止します。
- すべての式は許可制の式ASTと有界な日付関数だけで実行し、文字列をコードとして実行しません。eval、new Function、外部API、CDN、fetch、XHR、WebSocketは使用せず、Pythonのビルド時評価とJavaScriptのブラウザ評価で同じ整数結果になることをテストします。
- 結果を他システムと照合するときは、暦法、年の範囲、曜日番号、開始日と終了日の包含、日付の引き算の向きを合わせてください。数字が一致しない場合は、時差や丸めよりも先に、片方が終了日を数えているか、日曜日を0としていないか、歴史上の現地暦を使っていないかを確認すると切り分けやすくなります。
- 正規グレゴリオ暦の日付専用計算です。歴史上の現地暦、時刻、時差、法的期限の特則は個別に確認してください。
よくある質問
1週後は必ず同じ曜日ですか?
この日付専用の連続暦日計算では7日後なので、必ず同じISO曜日番号です。
4週後は1か月後ですか?
必ずしも同じではありません。4週は28日ですが、暦月は28〜31日です。
負の週数は使えますか?
はい。例えば−2は14日前へ戻ります。結果が対応範囲外ならエラーで停止します。
入力した年月日と日数・週数は、利用者の端末内だけで計算されます。サーバーや第三者へ送信・保存せず、氏名、予約内容、住所などの個人情報を入力する欄もありません。