startnew method ejemplo c# stopwatch

c# - method - stopwatch startnew



Cómo mostrar minutos y segundos con Cronómetro() (7)

//intentalo

Stopwatch sw = new Stopwatch(); sw.Start(); Thread.Sleep(10382); sw.Stop(); Console.Write(sw.Elapsed.Duration());

Necesito mostrar también los minutos, en realidad uso este código para mostrar los segundos, pero también necesito los minutos.

TimeSpan ts = stopwatch.Elapsed; Console.WriteLine("File Generated: " + _writer.getBinaryFileName(filePath, Convert.ToInt32(logSelected)) + " in " + "{0}.{1:D2}" + "seconds", ts.Seconds, ts.Milliseconds/10 + "/n" );

¿Como lo puedo hacer?


Deberías usar:

ts.ToString("mm//:ss//.ff")

esto le dará minutos, segundos y las centésimas de segundo en un intervalo de tiempo.

también echa un vistazo a http://msdn.microsoft.com/en-us/library/ee372287.aspx

EDITADO: bueno, si quieres que los minutos sean tu unidad más grande, puedes hacer lo siguiente:

string.Format("{0}:{1}", Math.Floor(ts.TotalMinutes), ts.ToString("ss//.ff"))


El método TimeSpan.ToString() en .NET 4.0 tiene una sobrecarga que le permite especificar el formato.

Para mostrar minutos y segundos:

TimeSpan elapsed = GetElapsedTime(); // however you get the amount of time elapsed string tsOut = elapsed.ToString(@"m/:ss");

Para incluir los milisegundos, debe escribir:

string tsOut = elapsed.ToString(@"m/:ss/.ff");

Tenga en cuenta, sin embargo, que esto no hará lo que espera si el tiempo total es más de 60 minutos. El valor de "minutos" visualizado habrá elapsed.Minutes . elapsed.Minutes , que es básicamente el mismo que ((int)elapsed.TotalMinutes) % 60) . Entonces, si el tiempo total fue de 70 minutos, lo anterior mostrará 10:00 .

Si desea mostrar el total de minutos y segundos de manera confiable, debe hacer los cálculos usted mismo.

int minutes = (int)elapsed.TotalMinutes; double fsec = 60 * (elapsed.TotalMinutes - minutes); int sec = (int)fsec; int ms = 1000 * (fsec - sec); string tsOut = String.Format("{0}:{1:D2}.{2}", minutes, sec, ms);


He codificado de esta manera:

using System.Diagnostics; ... Stopwatch watch = new Stopwatch(); watch.Start(); // here the complex program. ... watch.Stop(); TimeSpan timeSpan = watch.Elapsed; Console.WriteLine("Time: {0}h {1}m {2}s {3}ms", timeSpan.Hours, timeSpan.Minutes, timeSpan.Seconds, timeSpan.Milliseconds);


Revise la documentación de TimeSpan , la estructura devuelta por el stopwatch.Elapsed . Desea la propiedad Minutes o TotalMinutes .

Si mide un lapso de 62 minutos, ts.Minutes devolverá 2 y ts.TotalMinutes devolverá 62 .


TimeTakenOutput.Text = "0" + myStopWatch.Elapsed.Minutes.ToString() + ":" + myStopWatch.Elapsed.Seconds.ToString() + "mins";


ts.Minutes