.NET 4 acepta el formato en TimeSpan.Tostring()
.
Por otra puede implementar como método de extensión
public static string Format(this TimeSpan obj)
{
StringBuilder sb = new StringBuilder();
if (obj.Hours != 0)
{
sb.Append(obj.Hours);
sb.Append(" ");
sb.Append("hours");
sb.Append(" ");
}
if (obj.Minutes != 0 || sb.Length != 0)
{
sb.Append(obj.Minutes);
sb.Append(" ");
sb.Append("minutes");
sb.Append(" ");
}
if (obj.Seconds != 0 || sb.Length != 0)
{
sb.Append(obj.Seconds);
sb.Append(" ");
sb.Append("seconds");
sb.Append(" ");
}
if (obj.Milliseconds != 0 || sb.Length != 0)
{
sb.Append(obj.Milliseconds);
sb.Append(" ");
sb.Append("Milliseconds");
sb.Append(" ");
}
if (sb.Length == 0)
{
sb.Append(0);
sb.Append(" ");
sb.Append("Milliseconds");
}
return sb.ToString();
}
y llame como
foreach (TimeSpan span in spans)
{
MessageBox.Show(string.Format("{0}", span.Format()));
}
Básicamente solo tiene que usar módulo y división. –
¿qué tal 'nuevo TimeSpan (30000).ToString() '? –
Bueno, estoy preguntando porque tengo otras cosas que hacer aquí, en mi compañía, mejor que los ejercicios básicos de programación ;-) –