cronスケジュールを今後の実行日時一覧に変換
*/20 9-10 * * 1-5は、2026年7月27日09:05 UTCより後なら、09:20、09:40、10:00、10:20に実行されます。cron式、開始時刻、表示したい件数を入れると、正確な実行日時が分かります。ブラウザで無料で使えます。
- 無料
- ブラウザで動作
- 登録不要
- データは端末の外に出ません
無料で実行
計算例
- Cron式
- */20 9-10 * * 1-5
- 数量
- 4
- 開始時刻
- 2026-07-27T09:05:00Z
- 実行時刻
- 2026-07-27T09:20:00Z, 2026-07-27T09:40:00Z, 2026-07-27T10:00:00Z, 2026-07-27T10:20:00Z
cron式は簡潔ですが、そのままでは予定を確認しにくい場合があります。必要な件数を選ぶと、テスト、運用手順書、チケット、デプロイレビューへ転記できる正確なISO 8601値が返されます。
簡潔なcron構文を確認可能な日時へ変換します
機械には効率的な記法ですが、予定を承認する方には実際の日付による確認が必要です。cron式、対象外となるISO 8601 UTC開始時刻、1から100までの件数をご指定ください。結果には正規化された要求と、Zで終わる読みやすい日時一覧が返されます。
開始時刻は含まれません。開始が09:00で式も09:00に実行される場合、最初の結果は次の該当時刻です。cronの精度は1分なので、返却値の秒は常にゼロです。
たとえば分の*/15は1時間に4回、9-17/2は範囲内で2時間おきを選びます。曜日の数値では、日曜日を0または7で指定できます。
結果に適用される暦の規則をご確認ください
計算には先発グレゴリオ暦とUTCを使用します。末尾がZの時刻を必須にすることで、暗黙のタイムゾーン変換により実行日がずれたり、夏時間の切り替えに入ったりする問題を防ぎます。月の日数とうるう年は直接計算されます。
100で割り切れる年は、400でも割り切れる場合に限りうるう年です。日と曜日の照合は一般的なcron規則に従います。日または曜日の一方がワイルドカードなら、制限された側で判定します。
両方が制限されている場合は、どちらか一方に一致すれば該当します。そのため0 9 1 * 1は、毎月1日と毎週月曜日の09:00を意味し、1日が月曜日の場合だけではありません。候補は時系列に並び、決定論的な整数演算で生成されます。
同じ入力なら、端末、ローカルタイムゾーン、現在時刻、ロケールに関係なく同じ出力になります。
本番導入前にスケジュールを検証できます
この一覧を自動化の具体的な受け入れテストとしてご利用ください。デプロイ担当者は平日ジョブが週末に入らないことを確認でき、運用担当者は次回の保守時間を手順書へ転記でき、開発者は日時をスケジューラーのテストデータにできます。空のリスト要素、逆順の範囲、ゼロまたは不正なステップ、許容範囲外の数値も拒否されます。
範囲は分が0–59、時が0–23、日が1–31、月が1–12、曜日が0–7です。cronエンジンごとに意味が異なる構文を推測すると、確認結果の信頼性が損なわれるためです。
活用例
デプロイ予定の確認
本番の定期タスクを承認する前に、cron文字列を正確なUTC日時へ展開できます。
スケジューラーのテストデータ作成
現在時刻に依存せず、単体テストや結合テスト向けの安定した期待値を生成できます。
運用手順書の準備
今後の保守やレポート日時を、運用文書へ直接転記できる形式で一覧化します。
よくある質問
開始時刻は結果に含まれますか?
含まれません。 開始時刻と完全に一致する実行は飛ばし、その次の該当時刻を返します。
どのタイムゾーンを使用しますか?
UTCのみです。 末尾がZのISO 8601時刻をご指定ください。返却される時刻もすべてZで終わります。
日と曜日はどのように組み合わせますか?
両方が制限されていれば、どちらかの一致で選択します。一方がワイルドカードなら、もう一方で判定します。
cronの*/15はどういう意味ですか?
15分ごとという意味で、1時間に4回実行されます。範囲にも間隔を指定でき、時の位置に9-17/2と書くと、9時から17時までの間で2時間おきになります。
実行日時は何件まで表示できますか?
1件から100件まで指定できます。結果は古い順に並び、cronは1分単位なので、どの日時も秒は0になります。
関連ツール
開発者向け — APIアクセス
このページの機能はすべてAPIからも利用できます。自社システムに組み込みたいチーム向けのセクションです。それ以外の方は上のツールをそのままお使いください。
エンドポイント
Bearerトークンで認証し、POST1回でタスクをキューに登録します。結果はWebhookまたは署名付きリンクで受け取れます。
お使いのスタックから呼び出す
curl -X POST https://api.kit.forhosting.com/data/cron-to-readable \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"cron":"*/20 9-10 * * 1-5","count":4,"start_time":"2026-07-27T09:05:00Z"}'const res = await fetch("https://api.kit.forhosting.com/data/cron-to-readable", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"cron": "*/20 9-10 * * 1-5",
"count": 4,
"start_time": "2026-07-27T09:05:00Z"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/data/cron-to-readable",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"cron": "*/20 9-10 * * 1-5",
"count": 4,
"start_time": "2026-07-27T09:05:00Z"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/data/cron-to-readable", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"cron":"*/20 9-10 * * 1-5","count":4,"start_time":"2026-07-27T09:05:00Z"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"cron":"*/20 9-10 * * 1-5","count":4,"start_time":"2026-07-27T09:05:00Z"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/data/cron-to-readable", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)リクエスト例
{
"cron": "*/20 9-10 * * 1-5",
"count": 4,
"start_time": "2026-07-27T09:05:00Z"
}レスポンス例
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "data.cron_to_readable",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}非同期APIです。task_idは即時に返ります。ポーリングは1秒あたり1リクエストまでです。
料金
単価はすべて公開しています。トークン換算や独自クレジットはありません。失敗したタスクは課金されません。
制限
max_count | 100 |
エラー
| HTTP | コード | 意味 |
|---|---|---|
401 | unauthorized | APIキーが無効か、指定されていません。Authorizationヘッダーを確認してください。 |
402 | insufficient_balance | 残高が不足しています。チャージ後に再度お試しください。 |
404 | unknown_type | 指定されたタスクタイプは存在しません。タイプ名を確認してください。 |
429 | rate_limited | リクエストが多すぎます。しばらく待ってから再度お試しください。 |
技術的な注記
この機能は、標準的な5フィールドのcron式を、指定された開始時刻より後に実行される具体的なUTC日時の一覧へ変換します。不正なフィールドは、もっともらしい誤った予定を生成せず、明確な入力エラーとして通知されます。
簡潔なcron構文を確認可能な日時へ変換します
5フィールドのcron式は、分、時、日、月、曜日を表します。すべてのフィールドで、リスト、両端を含む範囲、ワイルドカード、正のステップを利用できます。
本番導入前にスケジュールを検証できます
パーサーは、フィールドが正確に5個でない式を拒否します。月名や曜日名、秒や年のフィールド、@dailyなどのマクロ、実装固有の拡張には対応しません。APIによる自動化は1回$0.002で、ネットワークや外部サービスは使用しません。
技術的な質問
どのcron形式に対応していますか?
分、時、日、月、曜日からなる標準的な数値5フィールド形式です。ワイルドカード、リスト、範囲、正のステップに対応します。
cronフィールドが不正な場合はどうなりますか?
不正なフィールドまたは範囲を示すinvalid_inputエラーとして要求が失敗します。
APIリクエストの料金はいくらですか?
APIリクエストは1回$0.002です。決定論的な計算ではネットワーク、ストレージ、外部モデルを使用しません。