PHP比较时间

问题描述:

如何比较PHP中的时间?PHP比较时间

我想这样说:

$ThatTime ="14:08:10"; 
$todaydate = date('Y-m-d'); 
$time_now=mktime(date('G'),date('i'),date('s')); 
$NowisTime=date('G:i:s',$time_now); 
if($NowisTime >= $ThatTime) { 
    echo "ok"; 
} 

上面的代码不会打印OK的。我期待它。

+2

什么是要完成? – 2011-05-28 00:01:14

$ThatTime ="14:08:10"; 
if (time() >= strtotime($ThatTime)) { 
    echo "ok"; 
} 

使用DateTime中的溶液(也关于时区)。

$dateTime = new DateTime($ThatTime); 
if ($dateTime->diff(new DateTime)->format('%R') == '+') { 
    echo "OK"; 
} 

http://php.net/datetime.diff

+0

确定但时间()将花费服务器的时间? -B因为我需要每次通过date_default_timezone_set($ TimeZone)指定默认时区; – 2011-05-28 00:06:03

+0

@DiegoP .:必须说,我以前没有意识到,但你是对的。但是,我用'DateTime'添加了另一个解决方案。 – KingCrunch 2011-05-28 00:14:01

+0

它给出了一个错误=((致命错误:调用未定义的方法DateTime :: diff() – 2011-05-28 00:17:00

要查看的CURENT时间大于或等于14点08分10秒做到这一点:

if (time() >= strtotime("14:08:10")) { 
    echo "ok"; 
} 

根据您的输入源,一定要考虑时区。

参见PHP time()PHP strtotime()

比较时间简单的方法是:

$time = date('H:i:s',strtotime("11 PM")); 
if($time < date('H:i:s')){ 
    // your code 
}