日付から週数を引く
日付と週数を入力すると、さかのぼった正確な日付が分かります。2024年3月18日から3週間(21日)を引くと2024年2月26日です。1週は7日なので、曜日は変わりません。ブラウザで無料で使えます。
- 無料
- ブラウザで動作
- 登録不要
- データは端末の外に出ません
無料で実行
計算例
- 日付
- 2024-03-18
- 週
- 3
- 結果
- 2024-02-26
- 引いた日数
- 21
- 年
- 2,024
- 月
- 2
この計算ツールは、厳密なYYYY-MM-DD形式で明示されたグレゴリオ暦の日付から、0以上の整数週を引き、正確な過去の日付を返します。1週間は連続する7暦日として扱うため、曜日を保ったまま月末、年末、うるう日を正しく越えます。計算は決定的であり、現在の日付、タイムゾーン、ネットワーク、乱数、JavaScriptのDateオブジェクトを使用しません。
整数週を引くことの意味
1週間を引くとは、指定日から正確に7暦日前へ移動することです。2週間なら14日前、0週間なら元の日付のままです。月、年、2月29日の境界を越えても、結果の曜日は変わりません。
土日、祝日、休業日も通常の暦日として数えます。4桁の年、2桁の月日をハイフンで区切った日付と、0以上の整数週をご入力ください。存在しない日付、小数や負数の週、0001年より前になる計算は拒否されます。
入力をタイムスタンプとして解釈しないため、夏時間やタイムゾーンによって結果が前後することもありません。
決定的な暦計算の仕組み
最初にYYYY-MM-DDの構文と、グレゴリオ暦における各月の実際の日数を検証します。2月が29日になるのは4で割り切れる年ですが、400で割り切れない世紀年は除きます。次にweeksが有効な整数であることを確認し、安全な整数演算で7倍します。
Dateを生成する代わりに、年月日を先発グレゴリオ暦の連続日番号へ変換し、日数を引いてから逆変換します。記載された別名は連携を容易にするだけで、計算規則は変えません。
実用例と重要な対象範囲
12週間プログラムの開始日、公開日の8週間前、再現可能な週次レポート期間など、規則が厳密な7日単位で表される場合にお使いください。曜日を維持する必要がある予定に特に適しています。本ツールは営業週を計算せず、祝日を除外せず、「次の金曜日」のような表現を解釈せず、タイムスタンプを変換せず、今日を基準日として推測しません。
月、四半期、営業日、タイムゾーン付き期間には、それぞれ専用の計算方法が必要です。ブラウザーでは同じ純粋な処理をローカルで実行します。
活用例
週単位の計画を立てる
固定イベントの整数週前に当たる開始日を、曜日を維持したまま求めます。
レポート期間を作成する
正確な7日単位で定義されたレポートやコホートの安定した過去の境界日を計算します。
暦のテストデータを用意する
システム時計を使わず、月末、年末、うるう日を越える再現可能な期待日付を生成します。
よくある質問
計算後も曜日は同じですか?
はい。 7日の整数倍を引くため、グレゴリオ暦上の曜日は維持されます。
今日の日付や利用者のタイムゾーンを使いますか?
いいえ。 基準日を明示していただき、現在時刻やタイムゾーン情報は使用しません。
どのような入力が拒否されますか?
無効な日付、負数や小数の週、上限を超える値、0001年から9999年の範囲外になる結果は拒否されます。
1週は何日として数えますか?
常に連続した7日です。3週なら21日を引くので、2024年3月18日は2024年2月26日になります。0週を指定すると、入力した日付がそのまま返ります。
土曜や日曜、祝日も数えますか?
数えます。暦の上の計算なので、週末や祝日、休業日も普通の日として扱います。引く1週はいつも連続した7日で、例外はありません。
関連ツール
開発者向け — APIアクセス
このページの機能はすべてAPIからも利用できます。自社システムに組み込みたいチーム向けのセクションです。それ以外の方は上のツールをそのままお使いください。
エンドポイント
Bearerトークンで認証し、POST1回でタスクをキューに登録します。結果はWebhookまたは署名付きリンクで受け取れます。
お使いのスタックから呼び出す
curl -X POST https://api.kit.forhosting.com/date/subtract-weeks \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"date":"2024-03-18","weeks":3}'const res = await fetch("https://api.kit.forhosting.com/date/subtract-weeks", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"date": "2024-03-18",
"weeks": 3
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/date/subtract-weeks",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"date": "2024-03-18",
"weeks": 3
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/date/subtract-weeks", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"date":"2024-03-18","weeks":3}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"date":"2024-03-18","weeks":3}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/date/subtract-weeks", 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-18",
"weeks": 3
}レスポンス例
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "date.subtract_weeks",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}非同期APIです。task_idは即時に返ります。ポーリングは1秒あたり1リクエストまでです。
料金
単価はすべて公開しています。トークン換算や独自クレジットはありません。失敗したタスクは課金されません。
制限
year_min | 1 |
year_max | 9999 |
weeks_min | 0 |
weeks_max | 521775 |
エラー
| HTTP | コード | 意味 |
|---|---|---|
401 | unauthorized | APIキーが無効か、指定されていません。Authorizationヘッダーを確認してください。 |
402 | insufficient_balance | 残高が不足しています。チャージ後に再度お試しください。 |
404 | unknown_type | 指定されたタスクタイプは存在しません。タイプ名を確認してください。 |
429 | rate_limited | リクエストが多すぎます。しばらく待ってから再度お試しください。 |
技術的な注記
ブラウザーでは無料で実行でき、再現可能な結果を自動処理で利用する場合は、成功したAPIリクエスト1件につき$0.002でご利用いただけます。
整数週を引くことの意味
応答には正規化された日付、weeks、days_subtracted、result、year、month、dayが含まれます。
決定的な暦計算の仕組み
時計、タイムゾーン、外部の暦サービスは参照しないため、同じ入力から常に同じJSONが得られます。対応年の範囲外になる場合は、暗黙に補正せずinvalid_inputを返します。
実用例と重要な対象範囲
自動処理では、成功したAPIリクエストごとに$0.002がかかり、スクリプト、表計算、テスト、ワークフローで扱いやすい構造化フィールドを返します。
技術的な質問
利用料金はいくらですか?
ブラウザーでは無料でご利用いただけます。成功したAPIリクエスト1件につき$0.002です。
差し引く1週間は何日ですか?
土日と祝日を含む、連続した正確な7暦日です。