指定日までの営業日数を土日・祝日を除いて計算
2026年7月3日(金)から7月10日(金)までは、7月6日(月)が祝日なら残りの営業日は4日です。基準日、目標日、休業日を入れると、残りの営業日が分かります。ブラウザで無料で使えます。
- 無料
- ブラウザで動作
- 登録不要
- データは端末の外に出ません
無料で実行
計算例
- 基準日
- 2026-07-03
- 目標日
- 2026-07-10
- 祝日
- 2026-07-06, 2026-07-06, 2026-07-04
- 営業日数
- 4
- 暦日数
- 7
- 除外した祝日
- 1
この計算ツールは、明示された基準日から明示された目標日までに何営業日あるかを求めます。土曜日と日曜日に加え、指定された平日の休業日を除外します。現在の日付や端末のタイムゾーンには依存しません。基準日は数えず、目標日は数えます。目標日が基準日より前の場合は負数になるため、将来の期限だけでなく、すでに過ぎた節目も同じ形式で表せます。
基準日と目標日を明確に指定します
基準日は除外し、目標日は含めます。たとえば基準日が金曜日で目標日が翌月曜日なら、残る営業日は月曜日の1日です。同じ日付なら0になります。
この半開区間の規則により、完了した基準日を重ねて数えず、期限管理や履歴の監査に使いやすくなります。入力は自動補正せず検証します。両日が固定されているため、保存した依頼を後日実行しても結果は変わりません。
実際に適用する休業日だけを除外します
土曜日と日曜日は常に除外されます。組織、市場、契約、プロジェクト固有の休業日は、任意のholidays配列へ同じ厳密なISO形式で指定してください。国の祝日表を自動取得したり、地域を推測したりはしません。
制度は地域や組織ごとに異なり、後から変更される場合があるためです。重複した日付は1件にまとめ、週末の祝日は二重に差し引かず、対象期間外の日付は結果に影響しません。振替休日がある場合は、実際に休業となる平日を指定してください。
定期処理では、適用した休業日一覧と社内規程の版を一緒に保存すると監査が容易です。
再現可能なUTC暦計算を利用します
計算処理はグレゴリオ暦の年、月、日を整数として扱います。JavaScriptのDateオブジェクト、システム時計、タイムゾーン、ネットワーク、乱数は一切使用しません。タイムスタンプ方式で起こり得る、夏時間切替時の23時間または25時間の日による境界ずれを防げます。
ブラウザーでも同じ純粋な計算処理を実行します。明示的な現在日を使わないため、期限確認、SLA報告、給与締め、固定テストにも適しています。
活用例
納品期限を追跡します
記録済みの工程基準日から契約納品日まで、チームの休業日を反映した残り営業日を測定します。
SLA計算を再現します
チケットとともに日付と祝日を保存し、後日の監査で同じ営業日数を再計算します。
経理の締切を確認します
申告、決済、給与の目標日までを、タイムゾーンによる日付ずれなしで数えます。
よくある質問
国の祝日は自動で読み込まれますか?
いいえ。 明示的で再現可能な計算にするため、適用する正確な休業日をご指定ください。
重複した祝日や週末の祝日はどう扱いますか?
重複は除去し、すでに除外される週末の祝日を再度差し引くことはありません。
タイムゾーンや夏時間で結果は変わりますか?
いいえ。 UTCの意味に沿った純粋なグレゴリオ暦計算で、現地時刻を参照しません。
基準日そのものは数えますか?
数えません。基準日は除き、目標日は含めます。分かっている日のあとに残る仕事量を知るためで、金曜日から翌週の月曜日までなら1日、同じ日付どうしなら0日になります。
目標日がすでに過ぎている場合はどうなりますか?
営業日数がマイナスで表示されます。2つの日付を入れ替えると符号だけが変わるので、これからの締め切りにも、すでに過ぎた節目にも同じ計算が使えます。
関連ツール
開発者向け — APIアクセス
このページの機能はすべてAPIからも利用できます。自社システムに組み込みたいチーム向けのセクションです。それ以外の方は上のツールをそのままお使いください。
エンドポイント
Bearerトークンで認証し、POST1回でタスクをキューに登録します。結果はWebhookまたは署名付きリンクで受け取れます。
お使いのスタックから呼び出す
curl -X POST https://api.kit.forhosting.com/date/business-days-until-date \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"reference_date":"2026-07-03","target_date":"2026-07-10"}'const res = await fetch("https://api.kit.forhosting.com/date/business-days-until-date", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"reference_date": "2026-07-03",
"target_date": "2026-07-10"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/date/business-days-until-date",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"reference_date": "2026-07-03",
"target_date": "2026-07-10"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/date/business-days-until-date", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"reference_date":"2026-07-03","target_date":"2026-07-10"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"reference_date":"2026-07-03","target_date":"2026-07-10"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/date/business-days-until-date", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)リクエスト例
{
"reference_date": "2026-07-03",
"target_date": "2026-07-10"
}レスポンス例
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "date.business_days_until_date",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}非同期APIです。task_idは即時に返ります。ポーリングは1秒あたり1リクエストまでです。
料金
単価はすべて公開しています。トークン換算や独自クレジットはありません。失敗したタスクは課金されません。
制限
max_holidays | 10000 |
エラー
| HTTP | コード | 意味 |
|---|---|---|
401 | unauthorized | APIキーが無効か、指定されていません。Authorizationヘッダーを確認してください。 |
402 | insufficient_balance | 残高が不足しています。チャージ後に再度お試しください。 |
404 | unknown_type | 指定されたタスクタイプは存在しません。タイプ名を確認してください。 |
429 | rate_limited | リクエストが多すぎます。しばらく待ってから再度お試しください。 |
技術的な注記
基準日と目標日を明確に指定します
reference_dateとtarget_dateには、厳密なYYYY-MM-DD形式の完全な日付を指定してください。目標日が基準日より前ならbusiness_daysとcalendar_daysは負数になり、両端を入れ替えると符号だけが変わります。ローカル形式、時刻付き文字列、ゼロ埋め不足、存在しない日付はinvalid_inputになります。
実際に適用する休業日だけを除外します
excluded_holidaysには、本来数える平日を実際に除外した一意の日付数だけが入ります。そのため、週末だけを除いた値との差を説明できます。
再現可能なUTC暦計算を利用します
同じ入力なら国や実行環境が異なっても同じJSONを返します。business_daysは符号付きの主要結果、calendar_daysは基準日の翌日から目標日までの日数確認、excluded_holidaysは除外記録です。1回の計算を1項目として扱い、APIリクエストの料金は$0.002です。
技術的な質問
基準日は営業日数に含まれますか?
いいえ。reference_dateは除外し、target_dateは含めます。基準時点の後に残る営業時間を表します。
目標日が基準日より前の場合はどうなりますか?
business_daysとcalendar_daysが負数になります。絶対値は両端を逆にした場合と同じです。
APIリクエストの料金はいくらですか?
正常に完了したAPI計算は$0.002です。同じ決定的な処理をブラウザーでも利用できます。