比较12小时格式的时间

时间:2011-04-19 05:50:18

标签: php time

有人可以提供帮助并提供解决方案,以便在收到时按以下格式进行两次比较:12:20 AM

我的脚本中有两个时间字段,用于在验证后存储在数据库中,但在验证格式正确后,我想在这两个字段之间进行比较。

我想要做的比较是检查第二个字段是否与第一个字段不重叠。

例如:

  

第一个变量名为$timeStart,持有时间值=“05:30 PM”。

     

第二个名为$timeEnd,值为“4:00 PM”。

现在,我想进行比较以查看$ timeEnd是否在$ timeStart 之前(在比较时也考虑了AM / PM)如果是,我不想回应错误,否则继续使用脚本。

我正在为一个事件脚本做这个,所以时间必须正确:) $ timeEnd必须在$ timeStart之后。

我确实希望我解释得很清楚:( 感谢您花时间阅读我复杂的乱语:)

3 个答案:

答案 0 :(得分:2)

if(function greaterDate($start_date,$end_date)
{

  $start = strtotime($start_date);
  $end = strtotime($end_date);
      if ($start-$end > 0)
       return 1;
     else
       return 0;
}
$time = greaterDate($start_date,$end_date))

答案 1 :(得分:2)

这应该有帮助

function timediff($start, $end)
{
        if($end >= $start)
        {
            return (round(($end-$start)/3600, 0))." Hrs ".((($end-$start)%3600)/60)." Min";
        }
        return false;
}
echo timediff(strtotime('yesterday 5 pm'), strtotime('today 4:30 am'));

答案 2 :(得分:1)

if (strtotime($timeEnd) < strtotime($timeStart)) {
    // fail
}

但是,如果你不打算允许日间交叉,那只会有意义。