1年間の平日数を計算
この年間平日数計算ツールは、明示されたISO日付から暦年を特定し、その年の月曜日から金曜日までを数えます。任意の祝日一覧を追加すると、平日に当たる祝日だけを除外し、重複した日付や土日に重なる祝日を二重に差し引きません。固定されたグレゴリオ暦の規則と決定論的な整数演算を用いるため、同じ入力からはタイムゾーンに関係なく常に同じ結果が得られます。
無料で実行
明示的な日付で対象年を指定します
日付はYYYY-MM-DDという正確なISO形式で入力してください。計算に使うのは年ですが、APIリクエストの意味を明確にし、現在年、アカウントの地域設定、サーバー時計への依存を避けるため、完全な日付が必要です。たとえば2024-07-25を入力すると、7月25日からではなく、2024年1月1日から12月31日までの暦年全体が対象になります。結果には入力日、対象年、暦日数、土日の日数、平日に当たる祝日数、最終的な平日数が表示されます。0001年から9999年までを先発グレゴリオ暦で扱い、400年、100年、4年に基づくうるう年規則も適用します。2025-02-29のように存在しない日付は自動補正せず、入力エラーとして拒否します。そのため、計画、監査、テスト、保存された業務ルールでも、後から同じ条件で再計算できます。
土日と任意の祝日を正しく除外します
最初に、対象年のすべての土曜日と日曜日を除外します。次に、祝日をISO日付の配列として指定できます。祝日が平日数を減らすのは、対象年に属し、月曜日から金曜日までのいずれかに当たる場合だけです。土日の祝日はすでに週末として除外されているため、もう一度差し引きません。同じ祝日が複数回含まれていても一件にまとめます。他の年の有効な日付は受け付けますが計算からは無視するため、複数年分の共通一覧を事前に絞り込まず送信できます。このツールは国の祝日を自動検索せず、振替休日を推測せず、所在地から国を判定しません。制度は国、地域、勤務先、協定、年によって異なるため、実際に適用される休業日を明示してください。土日数と有効な平日祝日数を分けて返すので、最終値の根拠を確認できます。
決定論的な日数を計画や自動処理に使えます
計算は整数による暦演算だけで行います。ネットワーク、現在時刻、JavaScriptのDateオブジェクト、夏時間、実行環境のロケールには依存しません。UTCを基準とする安定した解釈なので、2026-01-01は東京、ロンドン、カリフォルニアのどこで処理しても同じ暦日です。年間の要員計画、稼働率目標、サービス水準予測、給与見積もりなどで一貫した基礎値として利用できます。入力日と祝日一覧を結果の内訳と一緒に保存すれば、後日再計算できる監査記録になります。ただし、結果は月曜日から金曜日までの勤務可能日数であり、個人の実労働時間ではありません。有給休暇、短時間勤務、未指定の休業、土日以外の週末制度、半日休業は含みません。ブラウザーでは無料で確認でき、反復可能な自動処理では$0.002のAPIを利用できます。
活用例
年間の処理能力を計画する
年間の平日から実際の休業日を除き、透明な結果にチームの一日当たり処理能力を掛けて見積もれます。
給与や稼働率の前提を確認する
モデルが想定した勤務日数を、土日と有効な平日祝日に分かれた決定論的な内訳と比較できます。
予測を再現可能にする
日付と祝日一覧を保存し、将来の実行でも現在時刻ではなく同じ暦規則を適用できます。
よくある質問
入力した日付から数え始めますか?
いいえ。その日付が属する暦年全体を選び、1月1日から12月31日までの全日を対象にします。
週末として扱う曜日はいつですか?
土曜日と日曜日です。それ以外の週休パターンは自動的に推測しません。
祝日が週末と重なった場合はどうなりますか?
その日はすでに週末日数に含まれているため、祝日として再度差し引きません。
各国の祝日は自動的に反映されますか?
いいえ。組織と地域に適用される祝日または休業日の正確な日付を指定してください。
APIリクエストの料金はいくらですか?
APIリクエストは$0.002です。同じ決定論的な計算をブラウザーでは無料で利用できます。
開発者向け — APIアクセス
このページの機能はすべてAPIからも利用できます。自社システムに組み込みたいチーム向けのセクションです。それ以外の方は上のツールをそのままお使いください。
エンドポイント
Bearerトークンで認証し、POST1回でタスクをキューに登録します。結果はWebhookまたは署名付きリンクで受け取れます。
お使いのスタックから呼び出す
curl -X POST https://api.kit.forhosting.com/date/workdays-in-year \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"date":"2024-07-25"}'const res = await fetch("https://api.kit.forhosting.com/date/workdays-in-year", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"date": "2024-07-25"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/date/workdays-in-year",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"date": "2024-07-25"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/date/workdays-in-year", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"date":"2024-07-25"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"date":"2024-07-25"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/date/workdays-in-year", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)リクエスト例
{
"date": "2024-07-25"
}レスポンス例
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "date.workdays_in_year",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}非同期APIです。task_idは即時に返ります。ポーリングは1秒あたり1リクエストまでです。
料金
単価はすべて公開しています。トークン換算や独自クレジットはありません。失敗したタスクは課金されません。
エラー
| HTTP | コード | 意味 |
|---|---|---|
401 | unauthorized | APIキーが無効か、指定されていません。Authorizationヘッダーを確認してください。 |
402 | insufficient_balance | 残高が不足しています。チャージ後に再度お試しください。 |
404 | unknown_type | 指定されたタスクタイプは存在しません。タイプ名を確認してください。 |
429 | rate_limited | リクエストが多すぎます。しばらく待ってから再度お試しください。 |