/prettycron

Display cron runspecs in human-readable format

Primary LanguageJavaScriptGNU Lesser General Public License v3.0LGPL-3.0

prettyCron Build Status

prettyCron is a simple JavaScript deuglifier for cron schedules: it prints out a human-readable interpretation of when the schedule will run.

For examples...

... check out the project home page.

Installation - browser

Include prettycron.js after adding moment.js and later.js.

<script src="moment.min.js" type="text/javascript"></script>
<script src="later.min.js" type="text/javascript"></script>
<script src="prettycron.js" type="text/javascript"></script>

Installation - Node

Simply use npm and require:

$ npm install prettycron
var prettyCron = require('prettycron');

Usage

prettyCron exposes two methods, both of which take a cron specification as the only argument.

prettyCron.toString(cron)

Returns a human-readable sentence describing all the times this cron will run.

prettyCron.toString("37 10 * * * *");
// returns "10:37 every day"

prettyCron.getNext(cron)

Returns a string representing the next time this cron will run, formatted with moment's calendar() method.

prettyCron.getNext("0 * * * *");
// if current time is 4:45pm, then returns "Today at 5:00 PM"

prettyCron.getNextDates(cron, numDates)

Returns an array of strings representing the next (numDates) amount of times this cron will run, formatted with moment's calendar() method.

prettyCron.getNextDates("0 * * * *", 4);
// If current time is 3.45 PM, then returns [ 'Today at 4:00 PM', 'Today at 5:00 PM', 'Today at 6:00 PM', 'Today at 7:00 PM' ]

Credits

prettyCron was originally written by dunse and posted to gist. This version is by Hourann Bosci with contributions from Johan Andersson, Phil Jepsen, Andre Buchanan, and Anton Petrov.

It's licensed under LGPLv3.