Someone does 20 Hours 42 Minutes & 16 Seconds in one shift totaling 74536 seconds. How do I get the hours from number of seconds the person has done for that shift?
20 * 60 * 60 = 72000
42 * 60 = 2520
16 = 16
+ -----
Total = 74536
____________________________
Total % 60 = Seconds (16)
Total % ? = Minutes (42)
Total % ? = Hours (20)
Tried 84600 already; turns out when a number is lower the modulus, it really is not very helpful, and something I am going to have to catch should someone only sign in for a few seconds ...
You need to use both modulus and division:
Or:
One other option uses the
div()
function from Standard C (<stdlib.h>
):After that,
v1.rem
contains the seconds;v2.rem
contains the minutes, andv2.quot
contains the hours based on the number of seconds originally inttime
.Based on Jonathan's reply, I believe the accurate answer should be this…
But if your server has PHP7 installed, you can use the intdiv() function. An integer division in which the remainder is discarded.