我正在尝试编写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>";
}我试着通过逻辑“思考”,但我似乎遗漏了一些东西。任何帮助都将不胜感激。
发布于 2013-10-10 00:54:46
不要比较字符串(实际上是这样做的,因为date()函数返回格式化的字符串),而是比较UNIX时间戳。
使用具有有效时间格式的time和strtotime:
$currentTime = time();
if($currentTime >= strtotime('2013-10-9 12:00') &&
$currentTime <= strtotime('2013-10-10 5:00')) {https://stackoverflow.com/questions/19277989
复制相似问题