Parse and explain a cron expression, showing the resulting execution schedule.
A cron expression has 5 fields — minute, hour, day-of-month, month, day-of-week — each of which may be a wildcard (*), a single value, a range (a-b), a list (a,b,c) or a step (*/n). This calculator parses each field into its set of matching values, then walks forward minute by minute from the current time to find the next occurrences that satisfy all fields simultaneously, following the standard cron rule that if both day-of-month and day-of-week are restricted (not wildcards), a match on either field is sufficient.
Cron field expansion
step: */n expands to every nth value in [min..max]; range: a-b expands to all integers [a..b]
In order: minute (0-59), hour (0-23), day-of-month (1-31), month (1-12), and day-of-week (0-6, where 0 is Sunday). A job runs when the current time matches all applicable fields.
It means 'every 15th value starting from 0', i.e. minutes 0, 15, 30 and 45 — the step syntax divides the field's full range by the given step size.
Standard cron (including Vixie cron used on most Linux distributions) treats this as an OR: the job runs if either the day-of-month or the day-of-week condition is satisfied, not only when both match simultaneously.