如何在PHP中减去AM / PM的时间

时间:2013-03-28 08:31:07

标签: php time

我有时间格式说:

$start_time; (example: 1:30 PM)
$system_time; (example: 8:20 AM)        
echo $time_left_for_discussion = $start_time - $system_time;

我想减去$ start_time - $ system_time。但它没有显示正确的结果。

我如何处理这种时间减法?

4 个答案:

答案 0 :(得分:2)

两次使用DateTime::createFromFormat(),然后减去这些。

$TimeStart = DateTime::createFromFormat( 'g:i A', $start_time );
$TimeEnd = DateTime::createFromFormat( 'g:i A', $end_time );

$Interval = $TimeStart->diff( $TimeEnd );
$time_left = $Interval->h . 'h' . $Interval->m 'm';

答案 1 :(得分:2)

<?php
  $d1 = strtotime('1:30 PM');
  $d2 = strtotime('8:20 AM');
   $diff = abs($d1-$d2);

  echo "Difference is $diff secs";

?>

答案 2 :(得分:1)

您需要查看date()strtotime()函数。

处理这种情况的方法是将日期转换为unix timestamps,从另一个时间戳中减去一个时间戳,然后从生成的时间戳中重新创建日期字符串。

注意:time()函数将返回当前系统时间(-stamp)

答案 3 :(得分:1)

我可以建议你看一下这个http://php.net/manual/en/function.strtotime.php

这是String to time,非常有用。

祝你有个美好的一天:D