C# + Format TimeSpan
Solution 1:
NOTE: This answer applies to .NET 4.0 only.
The colon character is a literal and needs to be wrapped in single quotes:
duration.ToString("mm':'ss")
From the MSDN documentation:
The custom
TimeSpan
format specifiers do not include placeholder separator symbols, such as the symbols that separate days from hours, hours from minutes, or seconds from fractional seconds. Instead, these symbols must be included in the custom format string as string literals.
Solution 2:
Try this:
Console.WriteLine("{0:D2}:{1:D2}", duration.Minutes, duration.Seconds);