WARNING: This class was written back in 2010 ! Its pretty much untested with all PHP versions > 5.6.0 and might act funny. I mostly pushed it to GitHub for easier access and in case if somebody is looking for a simple cron-parser.
tdCron is a very simple class to parse cron-expressions and calculate schedules.
For something more sophisticated (and WAY more modern) you can take a look at the cron-expression package by Michael Dowling and Chris Tankersley.
Just include class.tdcron.php
and class.tdcron.entry.php
in your project and you're done.
As i mentioned before - this class is really, really simple :-)
Please just look at the code in test.php
and class.tdcron.php
- its reasonably well documented and should be pretty easy to understand.
It basically comes down to calling tdCron::getNextOccurrence()
or tdCron::getLastOccurrence()
with your cron-expression as the first parameter and an optional reference-time as the second parameter.
Lets say you've got a cron-expression like 5 0 * 8 2
(so something at 00:05 on every tuesday in august). You could use something like
echo 'next: '.date('d.m.Y, H:i:s', tdCron::getNextOccurrence('5 0 * 8 2');
to see when it should run the next time.
There aren't any "real" tests included with the class (so you won't find any PHPUnit-stuff here). You can find a bunch of edge-cases in the test.php / test.data.php files that were used to test the class during development.
This project is licensed under the MIT License - see the LICENSE file for details