1c3437056SNickeau<?php 2c3437056SNickeau 3c3437056SNickeau 4c3437056SNickeaunamespace ComboStrap; 5c3437056SNickeau 6c3437056SNickeau 7c3437056SNickeauuse Cron\CronExpression; 8c3437056SNickeau 9c3437056SNickeauclass Cron 10c3437056SNickeau{ 11c3437056SNickeau 12c3437056SNickeau 13c3437056SNickeau /** 14*04fd306cSNickeau * @throws ExceptionBadSyntax 15c3437056SNickeau */ 16c3437056SNickeau public static function getDate(string $cronExpression): \DateTime 17c3437056SNickeau { 18c3437056SNickeau try { 19c3437056SNickeau $cron = CronExpression::factory($cronExpression); 20c3437056SNickeau return $cron->getNextRunDate(); 21c3437056SNickeau } catch (\InvalidArgumentException $e) { 22*04fd306cSNickeau throw new ExceptionBadSyntax("The cache frequency expression ($cronExpression) is not a valid cron expression. <a href=\"https://crontab.guru/\">Validate it on this website</a>"); 23c3437056SNickeau } 24c3437056SNickeau } 25c3437056SNickeau} 26