Php 如何确定cron在某个日期之前的执行日期?

Php 如何确定cron在某个日期之前的执行日期?,php,web,cron,debian,Php,Web,Cron,Debian,我想确定cron(Crontab的)运行的日期和时间 有没有解决方案可以恢复cron的所有执行日期?例如,变量crontab是“15 7***”,结束日期是“2018-08-05”,我想找到这些日期: 2018-08-01 07:15:00 UTC 2018-08-02 07:15:00 UTC 2018-08-03 07:15:00 UTC 2018-08-04 07:15:00 UTC 2018-08-05 07:15:00 UTC 我所有的脚本都是用PHP编写的。如果有一个php解决方

我想确定cron(Crontab的)运行的日期和时间

有没有解决方案可以恢复cron的所有执行日期?例如,变量crontab是“15 7***”,结束日期是“2018-08-05”,我想找到这些日期:

  • 2018-08-01 07:15:00 UTC
  • 2018-08-02 07:15:00 UTC
  • 2018-08-03 07:15:00 UTC
  • 2018-08-04 07:15:00 UTC
  • 2018-08-05 07:15:00 UTC

我所有的脚本都是用PHP编写的。如果有一个php解决方案,它会更好。。还是API?感谢您的帮助……

如果您只需要计算并查看从“现在”到“限制日期”的所有日期,您可以使用以下代码:

$date = new DateTime("now");
$endDate = new DateTime("2018-08-05 07:15:00");
$count = 0;

while ($date <= $endDate ) {
    $count++;
    $date->modify("+1day");
    echo $date->format("Y-m-d 07:15:00"), "\n";
}
echo "There is $count dates";


这里是解决方案。非常适合所有的Cron

如果您有开始日期,请使用以下代码:
15 7 1-5 8*用户命令
我根本不想这样做。我重复一遍:我想确定在某个日期之前,cron代码将到达的日期。谢谢你的帮助。但你是对的,我需要添加一个开始日期和结束日期,并确定这两个日期之间的所有日期,但如何确定?这就是问题所在。。。我想对我的cron的执行情况做一个预测…好的,我可以这样做,谢谢,但我想解释任何crontab。。。不只是一个用算法翻译的。。。但是一对所有人。。。比如,如果我问[0***]和日期[2018-08-01至2018-08-05],回答:2018-08-01 00:00,2018-08-02 00:00,2018-08-03 00:00,2018-08-04 00:00,2018-08-05 00:00,如果我问[0*/5**]和日期[2018-08-05至2018-08-25],回答:2018-08-05 00:00,2018-08-08-10:00:00,2018-08-08-15:00:00, 2018-08-20 00:00:00 , 2018-08-25 00:00:00. 我想知道是否有任何算法可以找到这些日期…@Coeurdelion我不知道解决方案,它可以100%解决您的问题,但是。。。有一个类,你需要为你的任务做一些更改好的,谢谢,没问题,链接不起作用。也许我发现了什么。。。但不完全是..@Coeurdelion类在您的链接上是用于Java的。我找到了这个项目,它可以帮助你(滚动到页面底部)是的!!太好了,就是这样,我同时找到了!谢谢
15 7 * 1-7 * user   command #start year to July
15 7 1-5 8 * user   command #August 1 - 5