php解析crontab代码 转 时间戳
以下是将Crontab代码转换为时间戳的PHP代码:
<?php
// Crontab代码
$cron = "0 0 1 * *";
// 分解Crontab代码
$cronArr = explode(' ', $cron);
// 获取当前时间戳
$currentTime = time();
// 计算下一个执行时间戳
$nextTime = mktime(
$cronArr[1], // 分钟
$cronArr[0], // 小时
$cronArr[2], // 日
date('n'), // 月
'*', // 周
date('Y') // 年
);
// 如果下一个执行时间戳小于当前时间戳,说明执行时间应该是下一个周期
if ($nextTime < $currentTime) {
$nextTime = mktime(
$cronArr[1], // 分钟
$cronArr[0], // 小时
$cronArr[2], // 日
date('n'), // 月
'*', // 周
date('Y') // 年
) + 86400 * 28; // 加上28天的秒数,即下一个周期
}
echo $nextTime;
注:以上代码仅适用于日、周、月的Crontab代码,不适用于小时、分钟等更精细的Crontab代码
原文地址: https://www.cveoy.top/t/topic/hvmf 著作权归作者所有。请勿转载和采集!