El módulo devuelve el resto al realizar la división de enteros.
Creo que es más fácil entender cómo usar Mod trabajando primero en un problema.
Comencemos simple con horas, minutos y segundos - 1 hora, 10 minutos y 30 segundos para ser precisos.
Primero, tienes 30 segundos. Esto es fácil, solo son 30. Sin dudas. Ahora agregue minutos: para determinar los minutos en segundos, multiplíquelos por 60. Por lo tanto, 10 minutos y 30 segundos = 630 segundos.
Ahora vemos cómo funciona la modificación - porque si divide 630 por 60, obtiene 10.5 pero si ignora la fracción (división entera entera) obtiene 10. El resto son los segundos.
Así que si MOD 630 por 60 se obtiene 30 - el resto que queda más al dividir 630 por 30.
Así que para determinar los minutos y segundos, se divide por 60 para los minutos, y MOD por 60 para los segundos .
Ahora agregue una hora. Una hora = 60 minutos y 60 minutos es 60 * 60 segundos, por lo que 1 hora = 3600 segundos. 3600 + 600 + 30 = 4230 segundos.
4230/3600 (1 hora) = 1 - por lo que Tienen una hora
4,230% (mod) 3600 = 630 - agarrar esta y ahora nos proceso para minutos.
Así que si la carne esta fuera más allá y agrega un día - 1 día = 24 horas = 24 * 3600 = 86400 86400 + 3600 + 600 + 30 = 90630
90630/86400 = 1 -> 1 día
90.630% 86400 = 4230 -> segundo sobrantes
4230/3600 = 1 -> 1 hora
y repiten la lógica anterior.
Espero que ayude a aclararlo: usted sigue repitiendo esa iteración y puede hacer semanas y años, pero los meses son especiales ya que son irregulares, y también lo son los años bisiestos.
Buena respuesta. @TK, compare esto con hacer cambios y convertir un número de la base x a la base y. Hay un patrón común aquí. –