visual segundo minuto militar larga hora formato fecha dar c# .net datetime

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;