lorisleiva/cron-translator

Makes CRON expressions human-readable

Fund package maintenance!
lorisleiva

Installs: 4 820 324

Dependents: 28

Suggesters: 6

Security: 0

Stars: 285

Watchers: 9

Forks: 56

Open Issues: 4

v0.4.5 2024-02-02 10:51 UTC

This package is auto-updated.

Last update: 2024-12-07 15:08:17 UTC


README

⏰️ Makes CRON expressions human-readable

intro-rounded

Installation

composer require lorisleiva/cron-translator

Usage

use Lorisleiva\CronTranslator\CronTranslator;

CronTranslator::translate('* * * * *');       // => Every minute
CronTranslator::translate('30 22 * * *');     // => Every day at 10:30pm
CronTranslator::translate('0 16 * * 1');      // => Every Monday at 4:00pm
CronTranslator::translate('0 0 1 1 *');       // => Every year on January the 1st at 12:00am
CronTranslator::translate('0 0 1 * *');       // => The 1st of every month at 12:00am
CronTranslator::translate('0 * * * 1');       // => Once an hour on Mondays
CronTranslator::translate('* 1-20 * * *');    // => Every minute 20 hours a day
CronTranslator::translate('0,30 * * * *');    // => Twice an hour
CronTranslator::translate('0 1-5 * * *');     // => 5 times a day
CronTranslator::translate('0 1 1-5 * *');     // => 5 days a month at 1:00am
CronTranslator::translate('*/2 * * * *');     // => Every 2 minutes
CronTranslator::translate('* 1/3 2 * *');     // => Every minute of every 3 hours on the 2nd of every month
CronTranslator::translate('1-3/5 * * * *');   // => 3 times every 5 minutes
CronTranslator::translate('1,2 0 */2 1,2 *'); // => Twice an hour every 2 days 2 months a year at 12am

You may also provide a locale as a second argument and whether to format the time using the 24-hour format as a third argument.

CronTranslator::translate('30 18 * * *', 'fr');       // => Chaque jour à 6:30pm
CronTranslator::translate('30 18 * * *', 'fr', true); // => Chaque jour à 18:30

The following locales are currently supported. Feel free to PR more locales if you need them. 🙂

  • ar — Arabic
  • de — German
  • en — English
  • es — Spanish
  • fr — French
  • hi — Hindi
  • lv — Latvian
  • nl — Dutch
  • pt — Portuguese
  • ro — Romanian
  • ru — Russian
  • sk — Slovak
  • ua — Ukrainian
  • vi — Vietnamese
  • zh — Simplified Chinese
  • zh-TW — Traditional Chinese