【发布时间】:2013-03-31 16:54:22
【问题描述】:
我正在使用以下代码来获取时差。大多数情况下都可以。但是当开始时间是下午 12:00 和结束时间是下午 1:30 时,它会显示 11.0 而不是 1:30 作为结果.开始和结束时间来自 mysql。
$startTime=new DateTime(date("h:i",strtotime($data['start_time'])));
$endTime=new DateTime(date("h:i",strtotime($data['end_time'])));
$timeInterval=$startTime->diff($endTime);
$getHours=$timeInterval->format('%h');
$getMinutes=$timeInterval->format('%i');
$duration=$getHours.":".$getMinutes;
请帮帮我。 谢谢。
【问题讨论】:
-
那么不要使用
date('h:i'),就是消除了AM/PM的区别。您可以使用date('H:i'),但更好的是,假设您有一个健全的TIME或DATETIME列,只需将原始$data['start_time']输入DateTime的构造函数即可。