WEEKDAY SCHEDULE
平日朝9時の予定をcron式と具体日時で確かめる
「平日の朝9時」をcron式にするときは、式だけでなく評価するタイムゾーンと基準日時もそろえます。ここでは架空の集計処理を例に、5つの欄と次の予定を照合します。
目的と架空の入力例
架空の社内集計を月曜から金曜まで毎朝09:00に始める想定です。休日カレンダーの祝日は含めず、曜日だけで「平日」を表します。
cron式
0 9 * * 1-5
タイムゾーン Asia/Tokyo
基準日時 2026年9月25日(金)08:00 JST(UTCでは 2026-09-24T23:00:00Z)
式を左から読む
| 欄 | 値 | この例での意味 |
|---|---|---|
| 分 | 0 | 毎時の00分 |
| 時 | 9 | 午前9時 |
| 日 | * | 日付は限定しない |
| 月 | * | 月は限定しない |
| 曜日 | 1-5 | 月曜から金曜。土曜と日曜は含めない |
このツールとCloud Schedulerのcron形式では曜日の1〜5が月曜〜金曜です。祝日も除外したい場合は曜日の範囲だけでは足りず、祝日カレンダーなど別の条件が必要です。
基準日時より後の次の5回
基準日時を上の例のとおり2026年9月25日08:00 JSTとすると、最初は同じ日の09:00です。金曜の次は週末を飛ばし、月曜に続きます。
| 順番 | Asia/Tokyo | UTC instant |
|---|---|---|
| 1 | 2026年9月25日(金)09:00 | 2026-09-25T00:00:00Z |
| 2 | 2026年9月28日(月)09:00 | 2026-09-28T00:00:00Z |
| 3 | 2026年9月29日(火)09:00 | 2026-09-29T00:00:00Z |
| 4 | 2026年9月30日(水)09:00 | 2026-09-30T00:00:00Z |
| 5 | 2026年10月1日(木)09:00 | 2026-10-01T00:00:00Z |
この例を同じ条件で再計算する
ツール本体のコードから予定を固定日時で計算できます。トップ画面は現在時刻を基準にするため、表示結果は閲覧した時刻によって変わります。
const { parseCron, nextRuns } = await import("/cron.js");
const result = nextRuns(parseCron("0 9 * * 1-5"), {
after: new Date("2026-09-24T23:00:00Z"),
timeZone: "Asia/Tokyo",
count: 5
});
console.table(result.runs.map(({ label, iso }) => ({ local: label, utc: iso })));
トップのツールで今からの予定を見る
- cron確認ツールを開き、式に
0 9 * * 1-5を入力します。 - タイムゾーンを
Asia/Tokyo(東京)にします。 - 「次の実行を計算」を押し、説明欄が月曜から金曜の09:00になっていること、予定表の日付とUTC instantが意図に合うことを確認します。
見落としやすい境界
このツールは曜日の予定を示します。日本の祝日や会社独自の休業日を判定せず、ジョブの登録・実行もしません。実際のスケジューラーにも同じタイムゾーンと曜日解釈を設定してください。
制約と参考資料
トップ画面は端末の現在時刻を基準に10回分を表示します。固定した基準日時での再計算は上のコード例を使えます。日時計算はブラウザのDate/Intlとタイムゾーンデータに依存し、予定の登録や配信先への通信は行いません。
- Google Cloud Scheduler公式: Cron job format and time zone — 5フィールド、曜日の値、平日の例。