我如何总结两个日期?
我有两个日期格式为j h:i:s我想和它们相加
我找到了这个脚本,但没有关于天的参考,我是新手,这是脚本,也许有人可以进行必要的修改。
<?php
/**
* @author Masino Sinaga, http://www.openscriptsolution.com
* @copyright October 13, 2009
*/
echo sum_the_time('01:45:22', '17:27:03'); // this will give you a result: 19:12:25
function sum_the_time($time1, $time2) {
$times = array($time1, $time2);
$seconds = 0;
foreach ($times as $time)
{
list($hour,$minute,$second) = explode(':', $time);
$seconds += $hour*3600;
$seconds += $minute*60;
$seconds += $second;
}
$hours = floor($seconds/3600);
$seconds -= $hours*3600;
$minutes = floor($seconds/60);
$seconds -= $minutes*60;
return "{$hours}:{$minutes}:{$seconds}";
}
?>
用法:
我需要的是从两个任务中总结两个日期: 任务1将花费1天10小时20分10秒 任务2将需要3天17小时35分40秒
所以结果将是任务1和两个之间的总时间
答案 0 :(得分:6)
使用strtotime转换日期并将时间戳相加,然后使用日期函数再次转换为日期:
$tmstamp = strtotime($date1) + strtotime($date2);
echo date("Y m d", $tmstamp) ;
但为什么你会在第一时间添加两个日期?
答案 1 :(得分:-1)
他们所做的就是将小时和分钟转换成秒并添加。然后他们转换回小时/分钟。
您只需要将天数转换为秒数:
$seconds += $days * 3600 * 24
然后转换回来:
$days = floor($seconds/(3600*24));
$seconds -= $days*3600*24