日期和时间24小时格式在PhP中获得差异
我有两个24小时制的约会日期和时间24小时格式在PhP中获得差异,php,datetime,Php,Datetime,我有两个24小时制的约会 $fulldate_hour_start = "2013-11-11 18:16:00 "; $fulldate_hour_end = "2013-11-11 23:30:00 "; 我用这个减去它们 $Hours = number_format((((strtotime($fulldate_hour_end) - strtotime($fulldate_hour_start)) / 60) / 60),2); 结果是5小时23分钟。应该是5小时14
$fulldate_hour_start = "2013-11-11 18:16:00 ";
$fulldate_hour_end = "2013-11-11 23:30:00 ";
我用这个减去它们
$Hours = number_format((((strtotime($fulldate_hour_end) - strtotime($fulldate_hour_start)) / 60) / 60),2);
结果是5小时23分钟。应该是5小时14分钟。我的错误是什么?您正在除以3600以将秒转换为小时,然后使用
数字\u格式
以两个小数位呈现结果
表达式的结果是:
5.23
实际上大约是5小时14分钟。(请记住,一小时有60分钟。)
而不是这样做,您应该以秒为单位保存该值,然后使用。一种可能性是;链接的SO问题还有许多其他问题。您将除以3600,将秒转换为小时,然后使用
数字\u格式
将结果显示为两位小数
表达式的结果是:
5.23
实际上大约是5小时14分钟。(请记住,一小时有60分钟。)
而不是这样做,您应该以秒为单位保存该值,然后使用。一种可能性是;与此相关的SO问题还有许多其他问题。因为一小时由60分钟组成,而不是100分钟,所以5.23小时是5小时13.8分钟。0.2小时不匹配是由于将实际值四舍五入到两位小数,得到0.23
0.23 * 60 = 13.8
因为一小时由60分钟组成,而不是100分钟,所以5.23小时是5小时13.8分钟。0.2小时不匹配是由于将实际值四舍五入到两位小数,得到0.23
0.23 * 60 = 13.8
试试这个:
$date1 = new DateTime("2013-11-11 18:16:00");
$date2 = new DateTime("2013-11-11 23:30:00");
$interval = $date1->diff($date2);
echo "difference " . $interval->h . " Hours, " . $interval->i." Mintues, ".$interval->s." seconds ";
试试这个:
$date1 = new DateTime("2013-11-11 18:16:00");
$date2 = new DateTime("2013-11-11 23:30:00");
$interval = $date1->diff($date2);
echo "difference " . $interval->h . " Hours, " . $interval->i." Mintues, ".$interval->s." seconds ";
可能的重复可能的重复