计算到下一个cronjob的时间


Calculating time till next cronjob

好吧,我的代码可以将任何文件下载到服务器,但有一个问题,我会执行cronjob,它会删除文件夹,然后创建一个同名的新文件夹,但我想在cron运行时向用户提供信息,这意味着我需要在下次执行脚本时自动检测的代码,我有cronjob脚本,但我需要修改索引,所以时间将以格式显示

连接cronjob之前的时间:$Time此处

这是我的cronjob 代码

<?php
if (!is_dir('downloads')) {
    rmdir('downloads');
}
mkdir('downloads');
?>
<?php
    $now = new DateTime();
    $midnight = new DateTime('midnight +1 day');
    $timeToGo = $now->diff($midnight);
    echo $timeToGo->format('%h hours %i minutes and %s seconds to next execution');
?>

更新:使用AmazingDreams符号,它更时髦…:-)

根据上面的评论,必须有更干净的方法来做到这一点。

$tonight = strtotime(date('Y-m-d', strtotime('+1 day')).' 00:00:00');
$diff = ($tonight - time()) / 60; // Time difference in minutes
echo "Hours: ". floor($diff / 60)." Minutes: ". ($diff % 60);

编辑:这也适用于

$tonight = strtotime('midnight +1 day');