繰り返し日付ジェネレーター
2024年1月1日から2月26日まで7日ごとに数えると、最初と最後を含めて9つの日付になります。開始日、間隔の日数、終了日を入力すると、その周期のすべての日付が一覧で分かります。ブラウザで無料で使えます。
- 無料
- ブラウザで動作
- 登録不要
- データは端末の外に出ません
無料で実行
計算例
- 開始
- 2024-01-01
- 間隔(日)
- 7
- 終了
- 2024-02-26
- 数量
- 9
- 期間日数
- 56
繰り返し日付ジェネレーターは、実務的な計画の問いに答えます。最初の暦日、整数日の固定間隔、最終日が与えられたとき、包括的な窓の中でその周期に乗る日付はどれか。隔週のスタンドアップ、毎週の請求実行、三日ごとの服薬リマインダー、完全なcron式ではないあらゆるスケジュールに使われます。
包括的な日刻み系列の定義
Startは最初の候補発生日をISO暦日YYYY-MM-DDとして示し、ISO-8601日時も受け付けますが刻みには暦日付部分のみを使います。Interval_daysは連続する発生の間の整数日ギャップを表す正の整数で、週次なら七、隔週なら十四、単純な三十日ごとなら三十、といった具合です。
Endは一覧に現れうる最後の日付で、範囲は包括的なので、刻んだ日付がちょうどendに着地すれば保持されます。エンジンはHoward Hinnant風の整数式でstartとendを連続民用日番号に変換し、シリアル日がend以下である間、start、start+間隔、start+2倍の間隔…を出力します。
startがendより後ならdates配列は空でcountはゼロとなりエラーにはしないため、バッチ処理が単純になります。
日付リストの使いどころと制限
計画デモ、表計算チェック、製品モックアップには、各言語にカレンダーライブラリを入れずにブラウザ内の無料繰り返し日付ジェネレーターを呼び出します。検証失敗はエンジン拒否後に残高を消費しません。週末と祝日を飛ばす必要があるときは営業日カウンタと組み合わせ、純粋な日リストではなく壁時計の実行時刻が要るときはcron次回実行ツールと組み合わせます。
入力元は他のKIT parse項目と同じ保持規則に従います。UI表には暦スケールの窓を好み、非常に密な日次系列は公開の発生上限内に収めます。
活用例
リマインダーと服薬の日グリッド
健康・習慣アプリは、単純な固定ギャップの場合に完全なRRULEエンジンを埋め込まず、二つの暦境界の間でN日ごとの服用やチェックインを列挙します。
よくある質問
終了日は含まれますか?
はい。 範囲は包括的で、刻んだ日付がちょうどendに着地すればdatesに現れます。startがendより後ならdatesは空でcountはゼロです。
ローカルタイムゾーンやJavaScript Dateを使いますか?
いいえ。 刻みはYYYY-MM-DDの暦部分だけに対する純粋なグレゴリオ民用日算術なので、ホストやタイムゾーンをまたいで結果は決定的です。
N日ごとの日付はどうやって作りますか?
開始日、間隔の日数、終了日を入力します。たとえば2024年1月1日から2月26日まで7日ごとにすると、両端を含む9つの日付が並びます。
間隔を0やマイナスにするとどうなりますか?
受け付けません。0やマイナスの間隔では終了日にたどり着かないため、間隔は1日以上にする必要があります。
開始日が終了日より後の場合はどうなりますか?
エラーにはならず、空の一覧と件数0が返ります。日付が1つもない期間があっても、まとめて処理する作業が止まりません。
関連ツール
開発者向け — APIアクセス
このページの機能はすべてAPIからも利用できます。自社システムに組み込みたいチーム向けのセクションです。それ以外の方は上のツールをそのままお使いください。
エンドポイント
Bearerトークンで認証し、POST1回でタスクをキューに登録します。結果はWebhookまたは署名付きリンクで受け取れます。
お使いのスタックから呼び出す
curl -X POST https://api.kit.forhosting.com/date/recurring-dates \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"start":"2024-01-01","interval_days":7,"end":"2024-02-26"}'const res = await fetch("https://api.kit.forhosting.com/date/recurring-dates", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"start": "2024-01-01",
"interval_days": 7,
"end": "2024-02-26"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/date/recurring-dates",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"start": "2024-01-01",
"interval_days": 7,
"end": "2024-02-26"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/date/recurring-dates", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"start":"2024-01-01","interval_days":7,"end":"2024-02-26"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"start":"2024-01-01","interval_days":7,"end":"2024-02-26"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/date/recurring-dates", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)リクエスト例
{
"start": "2024-01-01",
"interval_days": 7,
"end": "2024-02-26"
}レスポンス例
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "date.recurring_dates",
"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 | リクエストが多すぎます。しばらく待ってから再度お試しください。 |
技術的な注記
本機能は純粋なグレゴリオ民用日算術で系列を計算し、日付部分についてホスト時計や浮動タイムゾーンには触れないため、同じ入力には常に同じJSONが返ります。非正の間隔はinvalid_inputとして拒否され、ゼロ刻みが無限に回らないようにします。
包括的な日刻み系列の定義
start、interval_days、endの三つのフィールドを指定します。欠落フィールド、不正な日付、二月三十一日のような不可能日、ゼロまたは負の間隔はinvalid_inputで失敗し課金されません。from、to、intervalなどの任意エイリアスは同じパラメータに対応し、SDK呼び出し側が馴染みの名前を数学を変えずに使えます。
応答の読み方と実用的な間隔の選び方
Span_daysはendとstartのシリアル日の符号付き差で、一覧が空でもUI要約に役立ちます。Inclusiveは常にtrueで、クライアントが境界規則を推測する必要がありません。毎日なら一、startから同じ曜日の毎週なら七、隔週なら十四、疎なチェックポイントだけならさらに大きい刻みです。四半期に何件当たるかだけならcountだけで足り、カレンダー・リマインダー・CSV出力に全行が要るときはdates配列全体を使います。成功時、応答は正規化したstartとendをYYYY-MM-DDでエコーし、送ったinterval_days、系列長としてのcount、昇順のISO暦文字列配列datesを返します。Methodは常にrecurring_datesなので、下流ルータは形状を嗅がずに分岐できます。実際の周期に合わせてinterval_daysを選びます。interval_daysの上限は三千六百五十で、一リクエストが数十年規模の異常な刻みを要求できないようにし、発生数もWorker安全のため制限されるため、刻み一の極端に長い範囲は分割してください。
APIの使い方、料金、ワークフロー、制限
必須のstart、interval_days、endを含むJSON本体を送ります。請求パイプライン、リマインダーサービス、カリキュラムスケジューラ、運用runbookがKIT残高のもとで安定契約を要する場合は前払いAPIを使い、成功1件あたり$0.002です。SDKを出荷する作者はdates配列を日付ピッカー、ICSビルダー、表の列へ直接写せます—計画者が壁カレンダーに最初の日から最後までN日ごとに印を付ける手作業と同じ並びです。
連携の活用例
週次・隔週の計画リスト
プロダクトと運用チームは、既知の開始から四半期末までinterval_daysを7または14にして毎週月曜型の系列を生成し、dates配列をカレンダーや表計算へ書き出します。
請求書とレポート実行日
財務スクリプトは固定日ギャップで繰り返し請求・レポート日を計算し、環境間でバッチがずれないようJSONをテストに固定します。
技術的な質問
N日ごとの繰り返し日付をどう生成しますか?
startとendをISO日付(例:2024-01-01と2024-02-26)、interval_daysを7のような正の整数にしたJSONを送ります。応答には包括範囲内の各発生のdates配列が含まれます。
間隔がゼロまたは負だとどうなりますか?
リクエストはinvalid_inputで失敗します。interval_daysは正の整数でなければならず、刻みが無限ループしないようにします。検証失敗は課金されません。
繰り返し日付ジェネレーターは無料ですか?
ブラウザツールは端末上で無料です。API呼び出しは成功1件あたり$0.002の前払いKIT残高を使い、検証失敗は課金されません。