PHP如果没有时间通过

时间:2014-04-28 16:15:00

标签: php if-statement time

我有一个XML文件,其中包含日期和时间格式:YYYYMMDDHH 它是4位数年份,2位数月份,2位数字日期和2位数小时。

如何根据此变量制作if / else语句。

我已尝试过这段代码,但对我来说无效。

if( strtotime($validtime) < strtotime('now') ) {
echo "display forecast";
}
else{
echo "hide forecast";
}

其中$ validtime偏离了时间段。

谢谢!

2 个答案:

答案 0 :(得分:0)

strtotime()本身并不识别YYYYMMDDHH格式,因此您应该像这样手动追加分钟和秒:

if( strtotime($validtime.'0000') < strtotime('now') ) {
    echo "display forecast";
}
else{
    echo "hide forecast";
}

请注意,上面的代码几乎总是会输入if()语句,因为strtotime('now')会产生秒数,所以这样的事情可能会合适:

if( strtotime($validtime.'0000') < strtotime(date('Y-m-d H:00:00')) ) {

答案 1 :(得分:0)

使用strtotime()无法识别YYYYMMDD格式,因此您需要重新格式化$ validtime变量。这样的事情应该有效:

if(strtotime(substr($validtime,4,2)."/".substr($validtime,6,2)."/".substr($validtime,0,4)." ".substr($validtime,8,2).":00") < strtotime('now') ) {
    echo "display forecast";
}
else{
    echo "hide forecast";
}