The TimeSpan could not be parsed because at least one of the numeric components is out of range or contains too many digits


Es este post , publicare la solucion de un error con el que me tope manejando horas, el cual requeria en base a un cadena en formato HH:MM:SS obtener el total de minutos,el problema fue
que tenia una funcion que me traia ese dato solo llamando a la propiedad TotalMinutes de la clase TIMESPAN todo marchaba a la perfeccion, solo que al recibir una cadena en formato MM:SS (minutos,segundos) he ahi donde me marcaba el error.

les dejo la solucion al problema en el siguiente codigo fuente =).
string time = “[Cadena con el tiempo en formato HH:MM:SS o MM:SS]“;
int[] ssmmhh = { 0, 0, 0 }; //arreglo que simboliza que hay 0 horas 0 minutos 0 segundos
var hhmmss = time.Split(‘:’);  // la funcion split separa la cadena a partir del caracter que se indique
var reversed = hhmmss.Reverse(); // invierte la cadena
int i = 0;
reversed.ToList().ForEach(x => ssmmhh[i++] = int.Parse(x)); //asigna cada bloque de cadenas a una posicion del arreglo
var seconds = Math.Round((double)(new TimeSpan(ssmmhh[2], ssmmhh[1], ssmmhh[0])).TotalMinutes,2); // realiza las operaciones para obtener //el total de minutos y hace un redondeo de dos digitos

Espero les sirva este post. a mi me sirvio mucho =). les dejo el link de referencia, donde encontre la solucion.
Inspirado por JuMiPe

No hay comentarios:

Publicar un comentario