以下是将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代码

php解析crontab代码 转 时间戳

原文地址: https://www.cveoy.top/t/topic/hvmf 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录