期間内の曜日数・開始日と終了日を含む月曜から日曜の回数
開始日から終了日までの両端を含む暦日について、総日数と月曜から日曜まで各曜日の出現回数を一括計算します。
計算結果
- 開始日と終了日を含む総日数
- — 日
- 月曜日の数
- — 日
- 火曜日の数
- — 日
- 水曜日の数
- — 日
- 木曜日の数
- — 日
- 金曜日の数
- — 日
- 土曜日の数
- — 日
- 日曜日の数
- — 日
使い方
- 数え始める開始日を年・月・日に分けて入力します。
- 開始日と同じか後になる終了日を入力します。
- 両端を含む総日数と、月曜から日曜の7つの件数を確認します。
計算式・考え方
開始日S、終了日Eの通算日を使い、両端を含む総日数N=E−S+1とします。完全な週q=floor(N÷7)では各曜日がq回ずつ現れます。余りr=N−7qについて、開始日のISO曜日から対象曜日までの0〜6日のオフセットがr未満なら1回を加えます。したがって7曜日の合計は必ずNになり、同一日なら該当曜日だけ1、他は0です。
注意事項
- 開始日と終了日の両方を数えます。たとえば月曜日から同じ週の日曜日までは7日で、各曜日が1回ずつです。日付差だけを求める『終了日−開始日』は6日になるため、別ページの経過日数と混ぜないでください。ここでは予定表に並ぶ日付欄の個数を数える規約です。
- 曜日数は休日数や営業日数と同じではありません。土日以外の祝日、振替休日、会社独自休業日、地域の休日は入力にもデータにも持ちません。平日の候補数が必要なら月曜から金曜を合計できますが、最終的な営業日数には対象年の公式休日表を別途照合してください。
- 計算量は期間の長さに比例しません。何百万日ある期間でも1日ずつループせず、完全な7日周期と最大6日の余りへ分解します。範囲は通算日に変換できる西暦内へ限定し、開始より前の終了日を入れた場合は絶対値へ勝手に変えず入力順エラーとして止めます。
- 結果の曜日番号は内部で月曜=1から日曜=7を使いますが、利用者には各曜日を独立した結果欄で表示します。表計算へ転記するときは7件の合計が総日数と一致することを検算できます。単一日の境界例では2024-02-29が木曜なので木曜だけ1になります。
- 歴史的な曜日を調べる用途では注意が必要です。本ページは1600年以後へ正規グレゴリオ暦を連続適用し、地域ごとのユリウス暦採用や改暦で削除された日を再現しません。現地史料の曜日表記を検証するときは、その地域と時代の暦法を先に確定してください。
- ISO週日付はISO 8601-1:2019の公式ページ(iso.org/standard/70907.html)と、週日付を明示する旧版公式概要(iso.org/standard/40874.html)を2026年7月13日に照合しました。ISO分岐では月曜日を週の初日とし、その年の第1木曜日を含む週を第1週とします。
- ISO曜日番号の月曜日=1から日曜日=7という並びは、IETFの公式RFC 3339 HTML(datatracker.ietf.org/doc/html/rfc3339)のdate-wday定義とも照合しました。日曜始まりと土曜始まりでも、表示する曜日番号自体はこのISO番号に統一しています。
- 西暦のうるう年規則は、米国海軍天文台USNOの公式FAQ『Leap Years』(aa.usno.navy.mil/faq/leap_years)を2026年7月13日に確認しました。4で割り切れる年を基本とし、100で割り切れる年を除外し、400で割り切れる年を戻す規則です。
- 年月日の表現範囲とグレゴリオ暦の扱いは、ISO 8601-1:2019の公式ページ(iso.org/standard/70907.html、2024年に現行性確認済み)と照合しました。この計算群は歴史上の各地域の改暦日を再現せず、同じ規則を連続適用する正規グレゴリオ暦です。
- 対応する西暦は原則1600年から9999年です。週年の前後日まで返す2ページだけは、安全に逆変換できるよう1601年から9998年へ狭めています。範囲外を推測値へ丸めず、個々の年月日が実在するかを計算前に確認してfail-closedで停止します。
- 入力する年、月、日、年数、週番号はすべて整数です。ブラウザの現在日時、端末の地域設定、タイムゾーン、UTCオフセット、サマータイムを自動取得しません。同じ入力なら実行した日や場所が変わっても同じ結果になり、過去の検算も再現できます。
- 内部では1600-01-01を0とする整数通算日へ変換してから差や曜日を求めます。JavaScriptのDateオブジェクトや1970年起点のミリ秒に依存しないため、ローカル時刻への暗黙変換で日付が前後する問題を避けています。結果も年、月、日または個数のscalar値として分けて表示します。
- 式はschema v3の許可制ASTにある加減乗除、floor、比較、条件分岐と、既存の有界Gregorian関数だけで構成します。文字列をプログラムとして実行するevalやnew Functionは使わず、外部API、CDN、fetch、XHR、WebSocketにも接続しません。入力値は利用者の端末内で処理され、サーバーへ送信・保存されません。
- 他のカレンダーや表計算と比較するときは、暦法、週の始曜日、第1週の定義、期間の両端を含むか、基準日をどの時点として扱うかをそろえてください。同じ『第1週』『経過日数』『年齢』という名前でも規約が異なれば1日、1週、1年の差が生じます。本ページは採用規約を式説明と結果ラベルに残します。
- 表示結果は日程整理と数値検算の補助です。法的期限、医療上の年齢、保険・年金・学校・免許の適用日、宗教行事、歴史上の現地暦を確定するものではありません。該当制度の判断が必要な場合は、所管官庁や公式規程の基準時刻、初日算入、休日繰越などの個別条件を確認してください。
- 正規グレゴリオ暦の数値計算です。法的な年齢・期限、制度の適用日、歴史上の現地暦は公式資料で個別に確認してください。
よくある質問
開始日と終了日は数に入りますか?
はい。両方を含むため、同一日なら総日数は1です。
月曜から金曜の合計は営業日数ですか?
祝日や会社休日を除いていない平日候補数です。営業日数には休日表が必要です。
終了日が開始日より前でも計算できますか?
できません。曜日別件数の向きを曖昧にしないため入力エラーにします。
長い期間は1日ずつ数えますか?
いいえ。7日周期と最大6日の余りに分ける有界な式で計算します。
入力した年月日、週番号、年数は利用者の端末内だけで計算されます。外部へ送信・保存せず、氏名、会社名、住所などの個人情報を入力する欄もありません。