Time 带模返回时间分量

Time 带模返回时间分量,time,modulo,epoch,Time,Modulo,Epoch,有人在一次轮班中做20小时42分16秒,总共74536秒。 如何从该人员为该轮班所做的秒数中获取小时数 20 * 60 * 60 = 72000 42 * 60 = 2520 16 = 16 + ----- Total = 74536 ____________________________ Total % 60 = Sec

有人在一次轮班中做20小时42分16秒,总共74536秒。 如何从该人员为该轮班所做的秒数中获取小时数

20 * 60 * 60      =    72000
     42 * 60      =     2520
          16      =       16
                  +    -----
Total             =    74536
____________________________
Total % 60        =  Seconds (16)
Total % ?         =  Minutes (42)
Total % ?         =    Hours (20)

已经审判了84600人;事实证明,当一个数字的模数较低时,它真的不是很有帮助,如果有人只登录几秒钟,我将不得不了解一些情况

您需要同时使用模数和除法:

t = seconds_in_shift;
secs = t % 60;
t /= 60;
mins = t % 60;
t /= 60;
hour = t;
或:

另一个选项使用标准C中的函数(
):


之后,
v1.rem
包含秒数
v2.rem
包含分钟,而
v2.quot
包含基于
ttime

中最初秒数的小时。根据乔纳森的回答,我相信准确的答案应该是

$total_time = 61000;
$sec = $total_time % 60;
$total_time = ($total_time - $sec) / 60;
$min = $total_time % 60;
$hour = ($total_time - $min) / 60;
echo "$hour hours, $min minutes and $sec seconds";
但如果您的服务器安装了PHP7,则可以使用该功能。一种舍弃余数的整数除法

// $hour = ($total_time - $min) / 60; old code but still works
$hour = intdiv($total_time, 60); // PHP7 and above code

注:74536%3600=2536。然后只需将结果放在地板上,或转换为int。
$total_time = 61000;
$sec = $total_time % 60;
$total_time = ($total_time - $sec) / 60;
$min = $total_time % 60;
$hour = ($total_time - $min) / 60;
echo "$hour hours, $min minutes and $sec seconds";
// $hour = ($total_time - $min) / 60; old code but still works
$hour = intdiv($total_time, 60); // PHP7 and above code