更改日期范围内的事件


Change Event Within Date Range

我正在尝试编写PHP代码来检查日期/时间是否在某个范围内以呈现某些HTML,如果没有,则呈现其他一些HTML。下面是我的代码。如果我将比较设置为将来的日期,它似乎工作正常,并且标志状态变为半员工,然后根据参数返回全员工。但是,第二天,在状态设置回全员大约 2-3 小时后,它会自动恢复为半员工状态。

if(date('Y-n-j-G-i') >= '2013-10-9-12-00' && date('Y-n-j-G-i') <= '2013-10-10-5-00' ) {
    echo "<span style='font-size:1.1em'>Governor's Flag Status:</br> <span style='color:#f00'>Half Staff</span></span>";
}
else {
    echo "<span style='font-size:1.1em'>Governor's Flag Status:</br> <span style='color:#333'>Full Staff</span></span>";
}

试图"思考"逻辑,但似乎我错过了一些东西。任何帮助将不胜感激。

不要比较字符串(实际上date()因为函数返回格式化字符串(,而是比较 UNIX 时间戳。

使用具有有效时间格式的时间和 strtotime:

$currentTime = time();
if($currentTime >= strtotime('2013-10-9 12:00') && 
   $currentTime <= strtotime('2013-10-10 5:00')) {