Da secondi a orario

Dato il numero di secondi passati dalla mezzanotte, che ore sono adesso?

Versione 1

Utilizza gli operatori quoziente e resto della divisione intera

secondi = 86399          # 24*60*60-1, un secondo prima di mezzanotte
 
ss      = secondi %  60  # 59   secondi
minuti  = secondi // 60  # 1439 minuti --- DA ELABORARE
mm      = minuti  %  60  # 59   minuti
hh      = minuti  // 60  # 23   ore
 
print(secondi, "s ->", hh, "h", mm, "m", ss, "s")  # 86399 s -> 23 h 59 m 59 s

Versione 2

Alcuni linguaggi non hanno né le funzioni né gli operatori per il quoziente e/o per il resto della divisione intera.
Utilizza la divisione e la sottrazione.

import math
 
secondi = 86399
 
minuti  = secondi / 60        # 1439,98333...
minuti  = math.floor(minuti)  # 1439
ss      = secondi-60*minuti   # 86399-60*1439 = ... = 59
hh      = minuti / 60         # 23,98333...
hh      = math.floor(hh)      # 23
mm      = minuti-60*hh        # 1439-60*23 = ... = 59
 
print(secondi, "s ->", hh, "h", mm, "m", ss, "s")

Versione 3

Se vuoi visualizzare l’orario nella forma hh:mm:ss, con due cifre per ogni posizione, allora si rende necessario aggiungere eventuali zeri prima delle cifre singole

secondi = 10000
  
ss      = secondi %  60        # 40  secondi
minuti  = secondi // 60        # 166 minuti
mm      = minuti  %  60        # 46  minuti
hh      = minuti  // 60        # 2   ore
  
print(hh, mm, ss, sep=":")     # 2:46:40
 
if(hh < 10): hh = "0"+str(hh)  # hh <-- "0"+2 = "02" 
if(mm < 10): mm = "0"+str(mm)
if(ss < 10): ss = "0"+str(ss)
 
print(hh, mm, ss, sep=":")     # 02:46:40