如何使下面的代码将天数转换为小时数?
$timestart = date_create('02/11/2011' . $row->timestart); //$row->timestart returns time in 00:00:00 format
$timestop = date_create('02/11/2011' . $row->timestop); //$row->timestop returns time in 00:00:00 format
date_add($timestop, date_interval_create_from_date_string('2 days')); //add 2 days
$date_diff = date_diff($timestart, $timestop);
echo "Timespan: ";
echo $date_diff->format('%h hours');
echo "<br />";
我怎样才能得到hours:minutes:seconds
过去?我正在努力留在date_diff
功能。
date_diff() 的结果是一个对象日期间隔 http://www.php.net/manual/en/class.dateinterval.php班级。这样的对象有一个非常有用的属性 -$days
:开始日期和结束日期之间的总天数。此外,它还存储(作为其公共属性)小时、分钟和秒的差异。
所以,我想,您需要的只是从 $date_diff 变量中提取这些属性的值,然后添加24*$days
到小时数。 )所有这些都可以包装成一个简单的函数:
function hms_date_diff(DateInterval $date_diff) {
$total_days = $date_diff->days;
$hours = $date_diff->h;
if ($total_days !== FALSE) {
$hours += 24 * $total_days;
}
$minutes = $date_diff->i;
$seconds = $date_diff->s;
return sprintf('%02d:%02d:%02d', $hours, $minutes, $seconds);
}
至于 DateDiff::format ,doc http://www.php.net/manual/en/dateinterval.format.php says...
DateInterval::format() 方法不会重新计算结转
时间字符串或日期段中的点。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)