在PHP中使用strtotime和time比较两次

时间:2011-10-02 02:13:06

标签: php

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

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

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

考虑到我的服务器时间是AM而我的开始和结束都是PM,这应该是假的。但这是正确的。有没有更好的方法来解决这个问题?

任何帮助都将不胜感激。

1 个答案:

答案 0 :(得分:0)

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

例如:

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