週番号(開始曜日指定)— 任意の週初日、無料
週の始まりの曜日を選ぶと、日付の週番号が分かります。第1週は常に1月1日を含む週です。月曜始まりなら、2024年3月15日は第11週です。日曜や土曜など、ほかの曜日始まりにも対応します。ブラウザで無料で使えます。
- 無料
- ブラウザで動作
- 登録不要
- データは端末の外に出ません
無料で実行
計算例
- 日付
- 2024-03-15
- 週の最初の曜日
- monday
- 年
- 2,024
- 月
- 3
- 日
- 15
- 年間通算日
- 75
この週番号計算機は、グレゴリオ暦の日付を YYYY-MM-DD 形式で受け取り、呼び出し側が選んだ週の開始曜日に基づき、その年の週番号を返します。規則は単純で明示的です。週は常に指定した曜日から始まり、第1週は民用年の1月1日を含む週です。日曜・月曜・土曜など任意の開始が必要で、ISO-8601 の週年境界までは採用したくない場合の表計算や運用実務に合います。エンジンはうるう年・月の日数・通日・坂本の曜日など整数のみの決定的な暦演算を使い、ネットワーク呼び出し・乱数・ホスト時計は使いません。
カスタム開始の週番号とは何か、応答に何が含まれるか
年の週番号は、週の始まりを固定したうえで「この民用年の何週目にその日付が属するか」に答えます。常に月曜始まりで、12月末や1月初めを別の週年に割り当てうる ISO-8601 週日付とは異なり、本計算機は民用年を固定し、開始曜日だけを変えます。タイムゾーン変換も「今日」への依存もありません。
日付欠落、2024/03/15 のような形、存在しない月、非うるう年の 2 月 29 日、未知の曜日トークンは拒否されます。ISO の週と週年の組が必要なら専用の ISO 週番号ツールを、日曜始まりの米国週だけなら米国週番号ツール(同系統の固定版)を使ってください。
本ページは、週の初日を意図的に選びつつ民用年内の安定した週インデックスが欲しいチーム向けです。
カスタム開始の週番号が計画・報告・ソフトウェアに効く場面
運用・プロダクトのチームは、現地文化に合う週のリズムをしばしば必要とします。欧州の多くのボードは月曜始まり、米国小売や一部の学校暦は日曜始まり、一部業種はシフトローテで土曜を初日とします。開始曜日だけを変え、第1週を 1 月 1 日の週に固定した単一の計算機なら、わずかに違う週ヘルパーを七つ配らず同じコードベースでそれらに対応できます。
開発者はログのバケツ、スプリントラベル、勤怠期間に、戻り値の種類を日曜以外へ一般化したときの表計算 WEEKNUM 風の期待に合う決定的なインデックスを刻めます。教育者や規格執筆者は、1 月 1 日規則の月曜始まり週番号が年境付近の ISO 週番号と同じでないことを並べて示し、コンプライアンス表での高コストな off-by-one を防げます。
同じ週の月曜や日曜の境界が必要なら週の開始・終了ツールと、法定報告が ISO-8601 を求めるなら ISO 週番号と、週インデックスなしで曜日名だけなら曜日ヘルパーと組み合わせてください。
活用例
地域に合わせた週次ダッシュボード
月曜・日曜・土曜など地域の週初日に合わせた年週ラベルで報告書を刻印し、ISO 週年規則へ切り替えずに済みます。
表計算互換の週インデックス
民用年のまま任意の開始曜日へ一般化した Excel 風 WEEKNUM 相当を、取込・勤怠・財務パック向けに再現します。
よくある質問
第1週はどのように定義されますか?
第1週は民用年の1月1日を含む週です。週は常に選択した曜日から7日間です。ISO の最初の木曜日規則ではありません。
ISO 週番号計算機との違いは何ですか?
ISO 週は常に月曜始まりで、1月1日付近では別の週年になることがあります。本ツールは民用年を保ち開始曜日だけを変え、第1週は常に1月1日を含みます。
タイムゾーンや現在時刻を使いますか?
Date オブジェクト、タイムゾーンシフト、今日への依存はありません。
開始曜日を選ばないときは何曜日になりますか?
月曜日です。日曜日から土曜日まで好きな曜日に変えられ、どの曜日を選んでも、第1週は1月1日を含む週のままです。
この決まりで1年は何週になりますか?
結果には、同じ開始曜日で数えた12月31日の週番号が示されます。2024年を月曜始まりで数えると、その年は53週になります。
関連ツール
開発者向け — APIアクセス
このページの機能はすべてAPIからも利用できます。自社システムに組み込みたいチーム向けのセクションです。それ以外の方は上のツールをそのままお使いください。
エンドポイント
Bearerトークンで認証し、POST1回でタスクをキューに登録します。結果はWebhookまたは署名付きリンクで受け取れます。
お使いのスタックから呼び出す
curl -X POST https://api.kit.forhosting.com/date/week-number-custom-start \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"date":"2024-03-15"}'const res = await fetch("https://api.kit.forhosting.com/date/week-number-custom-start", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"date": "2024-03-15"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/date/week-number-custom-start",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"date": "2024-03-15"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/date/week-number-custom-start", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"date":"2024-03-15"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"date":"2024-03-15"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/date/week-number-custom-start", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)リクエスト例
{
"date": "2024-03-15"
}レスポンス例
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "date.week_number_custom_start",
"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 | リクエストが多すぎます。しばらく待ってから再度お試しください。 |
技術的な注記
計画ボードや地域別スケジュール向けにブラウザで無料利用でき、パイプラインで毎回同じ週ラベルが必要なときは成功リクエストごとに API を $0.002 で呼び出せます。
カスタム開始の週番号とは何か、応答に何が含まれるか
date を厳密な YYYY-MM-DD 文字列で渡し、任意の first_weekday を英語名(sunday から saturday)または日曜=0・土曜=6 の整数で指定します。first_weekday を省略すると月曜とみなします。検証後の応答は、正規化した日付、民用年・月・日、day_of_year 通日、入力日の weekday(小文字名と Title Case 名および 0 始まりインデックス)、解決済み first_weekday と first_weekday_index、週の開始からの日数、1 以上の week_number、同じ開始曜日での 12 月 31 日の週番号 weeks_in_year、contains_january_1 の week_1_rule、うるう年と暦のフラグ、method タグ、説明用の短い formula 文字列を返します。入力が実在する暦日と正当な開始曜日なら結果が定まり、そうでなければ invalid_input で失敗します。
日付と開始曜日の読み方、再現性のある結果のために
文字列は数字4桁・ハイフン・2桁・ハイフン・2桁に一致する必要があり、前後の空白は除去されますが、部分日付・月名のみ・通日だけの入力はここでは展開しません。年は 1 から 9999、月は 1 から 12、日はその年その月の実日数の範囲内で、うるう年は 4 で割り切れかつ 100 で割り切れるが 400 で割り切れない世紀を除くグレゴリオ規則に従います。日付フィールドは date が推奨ですが、iso_date、d、value、calendar の別名も受け付けるため、表計算・クエリ文字列・フォームが列名を変えずに同じ契約を再利用できます。first_weekday は名前または数値インデックスを受け、別名 week_start、start_day、first_day があり、空または省略時は月曜が既定で、ISO 風の週開始は一操作で選べますが ISO 週年規則は強制しません。検証済みの年月日から、エンジンは月の日数を足しうるう年の 2 月を調整して day_of_year を求め、入力日と 1 月 1 日の曜日を日曜=0・土曜=6 の坂本の整数法で求めます。カスタム週内の 1 月 1 日のオフセットは(1 月 1 日の曜日 − first_weekday + 7)mod 7、週番号は day_of_year − 1 + そのオフセットを 7 で割った床に 1 を加えた値です。同じ開始曜日での 12 月 31 日の週番号が weeks_in_year として返り、その設定で年が 52・53・54 のどの週ラベルまで行くかが分かります。自動化パイプラインで同一の週ラベルが必要なときは、本ページの無料ブラウザ実行と有料 API を組み合わせてください。
カスタム開始の週番号が計画・報告・ソフトウェアに効く場面
前年比ダッシュボードを作る分析者は week_number と first_weekday_index を一緒に保存し、地域間で週の始まりが食い違うときもフィルタを曖昧にしないで済みます。本ページでは作業はすべてブラウザ内で完結し、API では成功した照会ごとに $0.002 がかかり、検証失敗は課金されず、応答後に何も保存しません。無料の対話的確認と有料で同一の API という分担は KIT の tier A カタログ全体と一致し、一度きりの確認からパイプラインへ移っても数学的結果は変わりません。
連携の活用例
決定的な CI 用 fixture
複数の first_weekday 設定で unit テスト用の再現可能な week_number を、Date のずれやホストロケールなしに生成します。
技術的な質問
カスタム初日の週番号計算機の料金はいくらですか?
本ページではブラウザで無料です。API では成功したリクエストが $0.002 で、無効な入力は課金されません。
first_weekday に使える値は何ですか?
英語名 sunday から saturday(大文字小文字を区別しない)、または日曜=0・土曜=6 の整数 0–6 です。フィールド省略時の既定は monday です。