while (out.length < 10) { if (matchesAllFields(d)) out.push(new Date(d)); d.setMinutes(d.getMinutes() + 1);
}
while (out.length < 10) { if (matchesAllFields(d)) out.push(new Date(d)); d.setMinutes(d.getMinutes() + 1);
}
while (out.length < 10) { if (matchesAllFields(d)) out.push(new Date(d)); d.setMinutes(d.getMinutes() + 1);
}
while (out.length < 10) { if (!matchesField(c.month, d.getMonth()+1)) { d.setMonth(d.getMonth() + 1, 1); // jump to next month d.setHours(0, 0, 0, 0); continue; } if (!matchesField(c.dom, d.getDate())) { d.setDate(d.getDate() + 1); // jump to next day d.setHours(0, 0, 0, 0); continue; } // ... same for hour, minute out.push(new Date(d)); d.setMinutes(d.getMinutes() + 1);
}
while (out.length < 10) { if (!matchesField(c.month, d.getMonth()+1)) { d.setMonth(d.getMonth() + 1, 1); // jump to next month d.setHours(0, 0, 0, 0); continue; } if (!matchesField(c.dom, d.getDate())) { d.setDate(d.getDate() + 1); // jump to next day d.setHours(0, 0, 0, 0); continue; } // ... same for hour, minute out.push(new Date(d)); d.setMinutes(d.getMinutes() + 1);
}
while (out.length < 10) { if (!matchesField(c.month, d.getMonth()+1)) { d.setMonth(d.getMonth() + 1, 1); // jump to next month d.setHours(0, 0, 0, 0); continue; } if (!matchesField(c.dom, d.getDate())) { d.setDate(d.getDate() + 1); // jump to next day d.setHours(0, 0, 0, 0); continue; } // ... same for hour, minute out.push(new Date(d)); d.setMinutes(d.getMinutes() + 1);
}
[Timer]
OnCalendar=Mon..Fri *-*-* 09:00:00
Persistent=true
RandomizedDelaySec=30 [Install]
WantedBy=timers.target
[Timer]
OnCalendar=Mon..Fri *-*-* 09:00:00
Persistent=true
RandomizedDelaySec=30 [Install]
WantedBy=timers.target
[Timer]
OnCalendar=Mon..Fri *-*-* 09:00:00
Persistent=true
RandomizedDelaySec=30 [Install]
WantedBy=timers.target - 6-field Quartz format (with leading seconds) — only standard 5-field cron
- Year field — some forks (e.g. Synology) accept a 6th year field. Not supported.
- Named days with mixed numeric — MON-FRI,0,6 works in some implementations. Not here.