lorisleiva/cron-translator

Makes CRON expressions human-readable

Maintainers

👁 lorisleiva

Package info

github.com/lorisleiva/cron-translator

pkg:composer/lorisleiva/cron-translator

Fund package maintenance!

lorisleiva

Statistics

Installs: 9 561 357

Dependents: 29

Suggesters: 7

Stars: 314

Open Issues: 3

v0.5.1 2026-03-27 10:08 UTC

Requires

  • php: ^8.0

Requires (Dev)

Suggests

None

Provides

None

Conflicts

None

Replaces

None

MIT 99e87184dc4b535c157af888782e84ba1d397b6e

cronhumanexpression


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
  • cs — Czech
  • da — Danish
  • de — German
  • en — English
  • es — Spanish
  • fr — French
  • hi — Hindi
  • lv — Latvian
  • nl — Dutch
  • pl — Polish
  • pt — Portuguese
  • ro — Romanian
  • ru — Russian
  • sk — Slovak
  • ua — Ukrainian
  • vi — Vietnamese
  • zh — Simplified Chinese
  • zh-TW — Traditional Chinese