Dart: Convertir tiempo
En este problema tenemos que convertir un número entero dado a horas y minutos separados por dos puntos. Por ejemplo si el número dado es 68 entonces el resultado es 1:8
Ejemplos
Entrada: 128
Salida: 2:8
Entrada: 35
Salida: 0:35
Solución
Este problema es muy sencillo. Si dividimos entre 60 obtenemos el número de horas. Por lo que podemos utilizar la división con resultado entero ~/
:
Por ejemplo el resultado de 128 ~/ 60
son 2 horas. Y para obtener los minutos podemos utilizar el módulo %
. El resultado del módulo es el residuo de la división por lo que 128 % 60
son 8 minutos.
Se puede ver más claro en la siguiente imagen:

El resultado es 2:8
Entonces la solución final quedaria asi:
void main() {
int num = 128;
print('${(num ~/ 60)}:${num % 60}');
}
Puedes visitar dartpad para correr la solución en tu navegador y tambien puedes ver la solución en el siguiente video de youtube: