首页 > 解决方案 > 如何在运行时检测新的一天已经过去?

问题描述

如何在php运行时检测当天已经结束,新的一天已经过去(检测功能或逻辑等)?

while(true) {
    if (hasNewDayGoned()) {
        // on new day work...
    }
    
    // normal work...
}

标签: phplogicruntimedays

解决方案


我假设这是一个你不断运行的脚本的无限循环。

在这种情况下,您只需检查上次运行的日期即可。

例如

$old_day = 0;
while (true) {
    if (date("Ymd") > $old_day) {
        // on new day work...
        $old_day = date("Ymd");
    }
    // normal work...
}

根据您在第一次启动脚本时是否需要您的代码,您可以将初始设置$old_day0date("Ymd")

编辑:忘记补充说,如果您的服务器位于不同的时区,您可以date_default_timezone_set按照此处记录的方式使用


推荐阅读