You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在PHP中实现基于星期与当日时间段的条件判断

如何在PHP中整合星期与时间段的条件判断逻辑

嘿,你已经搞定了星期判断的基础代码,现在要加入时间段判断其实很简单,不过先给你提个原代码里的小坑:你写的$currentday == Monday里的Monday没加单/双引号,PHP会把它当成未定义常量处理,运行时会抛出警告,得改成'Monday'这种字符串形式才行。

接下来给你两种可靠的方法来整合时间段判断:

方法1:直接比较时间字符串(简单直观)

这种方法适合判断同一天内的时间段,直接用date('H:i')获取当前的小时:分钟格式(比如14:30),然后和目标时间段的字符串做比较:

<?php
date_default_timezone_set('Australia/Perth');
$script_tz = date_default_timezone_get();
$currentday = date('l');
// 获取当前时间的小时:分钟格式
$current_time = date('H:i');

if ($currentday == 'Monday') {
    // 判断是否处于14:00-16:00之间
    if ($current_time >= '14:00' && $current_time <= '16:00') {
        echo "周一且处于14:00-16:00,执行指定操作";
        // 在这里写入你的具体操作代码,比如调用函数、执行数据库操作等
    } else {
        echo "周一但不在目标时间段";
    }
} elseif ($currentday == 'Tuesday') {
    // 周二的逻辑,同理可添加时间段判断
    echo "Tuesday";
} elseif ($currentday == 'Wednesday') {
    echo "Wednesday";
} elseif ($currentday == 'Thursday') {
    echo "Thursday";
} elseif ($currentday == 'Friday') {
    echo "Friday";
} elseif ($currentday == 'Saturday') {
    echo "Saturday";
} elseif ($currentday == 'Sunday') {
    echo "Sunday";
}
?>

方法2:使用时间戳比较(更精准,支持跨天场景)

如果之后需要处理跨天的时间段(比如23:00到次日01:00),或者担心字符串比较的边界问题,用时间戳会更可靠。我们可以把当天的目标时间段转换成时间戳,再和当前时间戳对比:

<?php
date_default_timezone_set('Australia/Perth');
$script_tz = date_default_timezone_get();
$currentday = date('l');
// 获取当前时间戳
$current_timestamp = time();
// 获取当天0点的时间戳
$today_start = strtotime('today');
// 计算当天14:00和16:00的时间戳(1小时=3600秒)
$target_start = $today_start + 14 * 3600;
$target_end = $today_start + 16 * 3600;

if ($currentday == 'Monday') {
    if ($current_timestamp >= $target_start && $current_timestamp <= $target_end) {
        echo "周一且处于14:00-16:00,执行指定操作";
        // 你的操作代码
    } else {
        echo "周一但不在目标时间段";
    }
}
// 其他星期的判断逻辑可参照上面的写法扩展
?>

总结一下步骤

  1. 先修正原代码中字符串未加引号的错误,避免运行警告
  2. 选择适合的时间获取方式(字符串或时间戳)
  3. 在对应星期的判断分支内,加入时间段的条件判断
  4. 在符合条件的分支里写入你要执行的操作

内容的提问来源于stack exchange,提问作者Pete

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.14 08:41:47