Quiero mostrar el tiempo transcurrido entre dos fechas en una cadena.Usar String.Format en un TimeSpan para generar segundos completos sin milisegundos
Digamos que tengo el siguiente código:
DateTime date1 = DateTime.Now();
System.Threading.Thread.Sleep(2500);
DateTime date2 = DateTime.Now();
TimeSpan elapsed = date2.substract(date1);
Console.WriteLine("> {0:hh:mm:ss}", elapsed);
Lo que espero:
> 00:00:03
Lo que me sale:
> 00:00:02.5002500
¿Hay una manera de utilizar la cadena. ¿La función de formato solo devuelve segundos completos?
También probé para eliminar los decimales con:
elapsed = elapsed.Substract(TimeSpan.FromMiliseconds((double)Timespan.Miliseconds);
Pero eso no funciona, ya sea desde elapsed.Miliseconds devuelve 500 como un entero.
Una solución agradable, también (y probablemente el más eficiente respecto al rendimiento). –
podría haber hecho un nuevo TimeSpan con 0 segundos de fragmentos y luego imprimir ese. El formato "g" junto con CultureInfo.InvariantCulture debería funcionar bien –