我有时间格式说:
$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。但它没有显示正确的结果。
我如何处理这种时间减法?
答案 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)