【发布时间】:2019-01-16 06:24:44
【问题描述】:
我估计总共有几个小时,其中包括几个小时 - 几分钟 - 几秒钟。 像这样:170: 156: 230 表示 170 小时 156 分 230 秒。现在我怎么能把这个值变成这样的东西:172:59:59。 总秒数不得超过 59 秒。 如果更多,溢出量将增加到一分钟。我会对分钟的总和做同样的事情: 也就是分钟总和永远不会超过59,如果超过了,溢出的量会被加到总小时数上。 我已经这样做了(当然这并不完美)
$raw_times = ['h'=>102, 'm'=>353, 's'=>345];
foreach (array_reverse($raw_times) as $type => $value) {
switch ($type) {
case 's':
if (60 < $value) {
while ((60 < $value) && (0 <= $value)) {
$sec_overlap += 60;
$value -= 60;
}
$raw_times['s'] = $value;
$raw_times['m'] += $sec_overlap;
return $raw_times;
}
break;
case 'm':
// some thing like above...
break;
}
}
【问题讨论】: