检查当前时间是否在特定时间之前或之后

时间:2016-03-08 15:01:07

标签: php

如果当天在特定日期之前或之后,我发现了大量输出bool的解决方案,但我似乎无法在PHP中专门找到时间。

我有一个脚本,我希望可以在上午7:45到下午3:45之间使用,并且只在星期一到星期五 - 但从来没有在这些时间之前或之后或周末。

我一直在努力研究如何做到这一点,而且我在这里发帖是因为我确信有一种非常简单的方法可以做到这一点,我忽略了。

这是我到目前为止所做的:

$timeOfDay = date("h:iA");
$dayOfDay = date("D");

if(strcmp($dayOfDay,'Mon') != 0
 ||strcmp($dayOfDay,'Tue') != 0
 ||strcmp($dayOfDay,'Wed') != 0
 ||strcmp($dayOfDay,'Thu') != 0
 ||strcmp($dayOfDay,'Fri') != 0) {
    //disable site
 } else {
    //if $timeOfDay is before 7:30AM or after 3:45PM, disable site ELSE enable site
 }

要明确的是,剧本应该只在周一至周五上午7:45到下午3:45之间在线。

编辑: 另一个注意事项 - 我只是在寻找可以获得真或假的PHP逻辑,我可以处理其余的代码来禁用脚本等。

1 个答案:

答案 0 :(得分:1)

$now = strtotime("now");  // here come current timestamp
$dt_start = strtotime(date("d.m.Y 07:45"));  // timestamp of today 07:45
$dt_end = strtotime(date("d.m.Y 15:45"));    // timestamp of today 15:45
$cur_day = date("w", $now);    // number of cur day 0 to 6

if ((0 < $cur_day && $cur_day < 6)             // check what day is it
    && ($dt_start < $now && $now < $dt_end)) {   // check time interval
    // do stuff
}