Cronmatch is a simple cron expression parser. It compares a provided date string or Date object with a cron expression to see if it matches.
For use in Node:
npm install @paulsmith/cronmatch
For use in the browser:
<script src="https://unpkg.com/@paulsmith/cronmatch/dist/cronmatch.js"></script>
const cronmatch = require('cronmatch');
var cronExpr = '*/2 * * * *'; // Every even minute
var date1 = new Date('January 20, 2020 12:00:00');
var date2 = new Date('January 20, 2020 12:01:00');
cronmatch(cronExpr, date1); // true
cronmatch(cronExpr, date2); // false
minute: [0, 59] hour: [0, 23] day: [1, 31] month: [1, 12] dayOfWeek: [0, 6]
cronmatchdoes not yet understand 6-field cron expressions with seconds- It does not yet validate cron expressions
- Does not yet support JAN-DEC for month or MON-SUN for dayOfWeek
- Does not yet support shortcuts such as
@weekly,@monthly, etc. cronmatchdoes not provide any time/date functionality. You probably do want to be careful about timezones when usingcronmatchto check whether a datetime matches a cron expression, but you probably don't want your expression parser to be where that happens. ;)