【发布时间】:2013-12-30 08:18:40
【问题描述】:
假设我们有这样的毫秒时间,我们希望得到 3 小时的总和 (02:00 + 03:00 + 01:30 = 06:30)。
1388361603000 equals with Mon Dec 30 2013 02:00:03 GMT+0200
1388365202000 equals with Mon Dec 30 2013 03:00:02 GMT+0200
1388359845000 equals with Mon Dec 30 2013 01:30:45 GMT+0200
如果我得到这 3 个的总和:
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;
回声 $date = 6:30
echo $milliseconds = 1388377800000 等于 2013 年 12 月 30 日星期一 06:30:00 GMT+0200
如果我得到的小时数大于 24 或分钟数大于 60,我必须将其转换为正确的小时和分钟。
这是正确的做法还是有其他简单的方法?
【问题讨论】:
-
您使用的是 32 位还是 64 位系统?
-
strtotime() 可能是更好的选择
-
64系统,不过我觉得没关系
标签: php