minuto - ¿Cómo convierto HH: MM: SS en solo segundos usando C#.net?
formato hora minuto segundo c# (5)
Este código permite que los componentes de horas y minutos sean opcionales. Por ejemplo,
"30" -> 24 segundos
"1:30" -> 90 segundos
"1: 1: 30" -> 3690 segundos
int[] ssmmhh = {0,0,0};
var hhmmss = time.Split('':'');
var reversed = hhmmss.Reverse();
int i = 0;
reversed.ToList().ForEach(x=> ssmmhh[i++] = int.Parse(x));
var seconds = (int)(new TimeSpan(ssmmhh[2], ssmmhh[1], ssmmhh[0])).TotalSeconds;
¿Hay una forma ordenada de hacer esto en lugar de dividir los dos puntos y multiplicar cada sección el número relevante para calcular los segundos?
Parece un lapso de tiempo. Así que simplemente analiza el texto y obtén los segundos.
string time = "00:01:05";
double seconds = TimeSpan.Parse(time).TotalSeconds;
Puedes usar el método parse en aTimeSpan.
http://msdn.microsoft.com/en-us/library/system.timespan.parse.aspx
TimeSpan ts = TimeSpan.Parse( "10:20:30" );
double totalSeconds = ts.TotalSeconds;
La propiedad TotalSeconds devuelve el total de segundos si solo desea los segundos y luego usa la propiedad de los segundos
int seconds = ts.Seconds;
Segundos vuelven ''30''. TotalSegundos devueltos 10 * 3600 + 20 * 60 + 30
TimeSpan.Parse () analizará una cadena con formato.
Asi que
TimeSpan.Parse("03:33:12").TotalSeconds;
//Added code to handle invalid strings
string time = null; //"";//"1:31:00";
string rv = "0";
TimeSpan result;
if(TimeSpan.TryParse(time, out result))
{
rv = result.TotalSeconds.ToString();
}
retrun rv;