2013-10-09 86 views
1

我正在尝试编写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>"; 
} 

我试图'想'通过逻辑,但它似乎我失去了一些东西。任何帮助,将不胜感激。

+0

你从哪里得到像''2013-10-10-5-00''格式? –

回答

1

不要比较字符串(因为实际上是这样做的,因为date()函数会返回格式化的字符串),请改为比较UNIX时间戳。

使用timestrtotime与有效时间格式:

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

谢谢。这似乎工作。比较数值比确定比较字符串更有意义。 :) – samman58

相关问题