var span = System.TimeSpan.FromMinutes(121);
var hours = ((int)span.TotalHours).ToString();
var minutes = span.Minutes.ToString();
El ToString() se debe a que pidió valores de cadena ...
totalhours son las horas completas en el TimeSpan, pueden ser campo de más de 24 (mientras que las "Horas" tiene un máximo de 24)
Ah, y pensándolo bien: ¿Por qué utilizar el TimeSpan y no calcularlo usted mismo? Debido a que TimeSpan ya está allí depurado & probado por Microsoft, tiene una interfaz limpia y bonita (al mirar el código puede ver fácilmente qué sucede sin tener que seguir un cálculo mentalmente) y se extiende fácilmente a otras soluciones. (Tenga la entrada en cuestión de segundos Use TimeSpan.FromSeconds() ¿Quieres el día Utilice span.TotalDays ...?.?)
Actualizar:
me he dado cuenta de error en mi respuesta: totalhours retornos un valor fraccionario de todas las horas, por lo que debemos truncarlo en un entero antes de convertirlo en una cadena.
Esto no rellenará minutos con ceros. Agregar ToString ("00") debería arreglarlo. – Coincoin
@ Coating: observe el ejemplo de OP durante 121 minutos. No se requiere relleno. –
Mi error. Gracias por mencionarlo. – Coincoin