2011-10-02 29 views
0

我的开始时间为下午3:30,结束时间为4:14:59 pm。这两个值都是字符串,所以我用strtotime()来转换它们。我不确定它在测试时是否考虑到了这一点。我想获取当前时间并检查当前时间是否在这两个值之间。在PHP中使用时间和时间比较两次

$server_time = strtotime("3:55 AM");  

if($server_time > strtotime($start) && $server_time < strtotime($end)) 
{ 
    echo "TRUE";    
} 
else 
{ 
    echo "FALSE"; 
} 

这应该是错误的考虑我的服务器时间是AM,我的开始和结束都是PM。尽管如此,这仍然是真的。有没有更好的方法来处理这个问题?

任何帮助,将不胜感激。

+2

请说明如何'$ start'和'$ end'定义。 –

+0

作为练习/演示:http://codepad.org/iOjzeZR2 –

+0

我从数据库中提取开始和结束值。让我检查一下是否有问题。谢谢你的样品。 – sinclairchase

回答

0

strtotime是非常挑剔的,我倾向于使用它只为mysql日期转换为时间戳。 AM和PM分析日期应该没有问题,但为了简单起见,如果您不想有麻烦转换日期,请使用军事时间。

例如:

Military: 16:34:59 
Standard: 4:34:59 PM 
+0

它不*挑剔*,它只需要遵循* [支持的日期和时间格式](http://www.php.net/manual/en/datetime.formats.php)*。 –

+0

非常感谢。 – sinclairchase