https://github.com/hollodotme/crontab-expression
Library to validate crontab expressions and check their due date
https://github.com/hollodotme/crontab-expression
crontab crontab-expressions due-date php
Last synced: about 1 year ago
JSON representation
Library to validate crontab expressions and check their due date
- Host: GitHub
- URL: https://github.com/hollodotme/crontab-expression
- Owner: hollodotme
- License: mit
- Created: 2017-12-12T10:58:51.000Z (over 8 years ago)
- Default Branch: master
- Last Pushed: 2021-04-29T19:04:29.000Z (about 5 years ago)
- Last Synced: 2025-01-22T05:42:40.280Z (over 1 year ago)
- Topics: crontab, crontab-expressions, due-date, php
- Language: PHP
- Size: 38.1 KB
- Stars: 0
- Watchers: 2
- Forks: 0
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- Contributing: .github/CONTRIBUTING.md
- License: LICENSE
- Codeowners: .github/CODEOWNERS
Awesome Lists containing this project
README
[](https://travis-ci.org/hollodotme/crontab-expression)
[](https://packagist.org/packages/hollodotme/crontab-expression)
[](https://packagist.org/packages/hollodotme/crontab-expression)
[](https://coveralls.io/github/hollodotme/crontab-expression?branch=master)
# CrontabExpression
## Description
Library to validate crontab expressions and check their due date
## Requirements
* PHP >= 7.1
## Installation
```bash
composer require hollodotme/crontab-expression
```
## Usage
### Validate expressions
Expressions are validated on construction of `CrontabExpression`.
If you provide an invalid expression a `hollodotme\CrontabValidator\Exceptions\InvalidExpressionException` will be thrown.
If you need boolean validation of crontab expressions, please use [hollodotme/crontab-validator](https://github.com/hollodotme/crontab-validator).
The `hollodotme/crontab-validator` package is a dependency for this package (hollodotme/crontab-expression), so you can also use the validator separately:
```php
isExpressionValid('*/10 6-21 * * 1-5'))
{
echo 'Expression is valid.';
}
else
{
echo 'Expression is invalid.';
}
```
**Prints:**
```
Expression is valid.
```
### Check if date satisfies expression (expression is due)
```php
isDue(new \DateTimeImmutable('2017-12-13 16:30:00')) ? 'Is due.' : 'Is not due.';
echo $expression->isDue(new \DateTimeImmutable('2017-12-10 16:30:00')) ? 'Is due.' : 'Is not due.';
# If you omit the $dateTime parameter, new \DateTimeImmutable() - current date - will be used.
echo $expression->isDue() ? 'Depends on your current date & time. (DUE)' : 'Depends on your current date & time. (NOT DUE)';
```
**Prints:**
```
Is due.
Is not due.
Depends on your current date & time. (DUE|NOT DUE)
```
## Contributing
Contributions are welcome and will be fully credited. Please see the [contribution guide](.github/CONTRIBUTING.md) for details.