Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/295.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 从日期算起的小时和分钟的总和或毫秒_Php - Fatal编程技术网

Php 从日期算起的小时和分钟的总和或毫秒

Php 从日期算起的小时和分钟的总和或毫秒,php,Php,假设我们的时间是以毫秒为单位的,我们想得到3个小时的总和(02:00+03:00+01:30=06:30) 如果我得到这三者的总和,我得到: 4165086650000 equals with Tue Dec 27 2101 02:30:50 GMT+0200 如果我得到总和除以1000(得到秒数),结果如下: 4165086650 equals with Wed Feb 18 1970 06:58:06 GMT+0200 像这样试过也没用: $time1 = date("H:i", 138

假设我们的时间是以毫秒为单位的,我们想得到3个小时的总和(02:00+03:00+01:30=06:30)

如果我得到这三者的总和,我得到:

4165086650000 equals with Tue Dec 27 2101 02:30:50 GMT+0200
如果我得到总和除以1000(得到秒数),结果如下:

4165086650 equals with Wed Feb 18 1970 06:58:06 GMT+0200
像这样试过也没用:

$time1 = date("H:i", 1388361603000 / 1000);
$time2 = date("H:i", 1388365202000 / 1000);
$time3 = date("H:i", 1388359845000 / 1000);
$total_time = $time1 + $time2 + $time3;
结果是6,如果我去掉:在H和i之间,结果将是630(这仍然不好)

我所做和工作的是:

$hours1 = date("H", 1388361603000 / 1000);
$minutes1 = date("i", 1388361603000 / 1000);
$hours2 = date("H", 1388365202000 / 1000);
$minutes2 = date("i", 1388365202000 / 1000);
$hours3 = date("H", 1388359845000 / 1000);
$minutes3 = date("i", 1388359845000 / 1000);

$date = ($hours1 + $hours2 + $hours3) . ":" . ($minutes1 + $minutes2 + $minutes3);
$milliseconds = strtotime($date) * 1000;
echo$date=6:30

echo$毫秒=138837800000,等于2013年12月30日星期一06:30:00 GMT+0200

如果我的小时数大于24分钟或分钟数大于60分钟,我必须将其转换为适当的小时数和分钟数


这是正确的方法还是有其他简单的方法?

这是我能想象的最简单的方法

echo "Time is: ".date("Y-m-d H:i:s", strtotime("now +3 hours"));

您也可以将UNIX时间戳作为第二个参数提供给strotime()。

您是在32位还是64位系统上?strotime()可能是更好的选择64位系统,但我认为它与试用日期(“H:i”,strotime(“00:00+”$hours。“hours+”$minutes。“minutes”)无关它是有效的,但如果我的总小时数超过24小时,那么时间从0开始。但我可以用另一种方法来解决这个问题。谢谢你的回答。类似这样的方法可能会对你有所帮助。基本上,把小时分为天和小时……等等。
echo "Time is: ".date("Y-m-d H:i:s", strtotime("now +3 hours"));