Escribir el título de esta pregunta me llevó al this question. Estoy buscando lo mismo, pero algo tal vez con un formato menos estático si entiendes lo que quiero decir.TimeSpan formato de "tiempo bonito" en C#
Estoy escribiendo un programa rápido que tomará una duración temporal de dos objetos DateTime y los imprimirá para imprimir en papel.
El formato que se preferiría es: XX days, YY hours, ZZ minutes
(los segundos son irrelevantes, como lo son los días porque no espero que el intervalo de tiempo incorpore más de unas pocas horas).
Diga el siguiente código (como ejemplo):
DateTime start = DateTime.Now;
DateTime end = DateTime.Now.AddMinutes(135);
TimeSpan duration = (end - start);
// output duration as XX hours, YY minutes
Gracias,
Zack
P.S. También me encontré con "PrettyTime.NET", pero salió cosas como "hace 3 días", etc. Todos los demás temas que encontré en google para formatear cadenas de duración de tiempo como los ejemplos anteriores me llevan a una solución basada en Java. : \
ACTUALIZACIÓN 09/08/2014:
Para el Seguimiento después de 3 años, he encontrado una biblioteca impresionante en NuGet y Github llamado "Humanizer" que resolvería este problema Estaba teniendo. No lo he usado tanto, pero lo probé y funciona muy bien. Aunque es bastante grande de una biblioteca (emite un montón de carpetas para diferentes culturas en la ruta de compilación de tu proyecto (estoy seguro de que hay una forma de personalizarlo)).
enviar el enlace a las versiones de Java ... debe ser factible en C# :) – MattC
@MattC: Eso me llevará unos minutos. Ya los cerré. :/ – Zack
@MattC: eh. Aquí hay uno que es similar, pero con un formato diferente. Lo mismo generalmente de todos modos. http://stackoverflow.com/questions/3471397/pretty-print-duration-in-java – Zack