Typing in the title to this question brought me to this question. I'm looking for the same thing, but something perhaps less statically formatted if you get what I mean?
I'm writing a quick program that will be taking a TimeSpan duration of two DateTime objects and outputting them for printing to paper.
The format that would be preferred is: XX days, YY hours, ZZ minutes
(seconds are irrelevant; as are days because I don't expect the timespan to incorporate more than a few hours).
Say the following code (as an example):
DateTime start = DateTime.Now;
DateTime end = DateTime.Now.AddMinutes(135);
TimeSpan duration = (end - start);
// output duration as XX hours, YY minutes
Thanks,
Zack
P.S. I also ran across "PrettyTime.NET", but it output things like "3 days ago", etc. Every other topic I found on google to format time duration strings like the above examples lead me to a Java-based solution. :\
UPDATE 2014-09-08:
To follow-up after 3 years, I've found an awesome library on NuGet and Github called "Humanizer" which would solve this issue I was having. I haven't used it that much, but I did try it and it works beautifully. It's quite large of a library though (it emits a whole ton of folders for different cultures to your project's build path (I'm sure there's a way to to customize it)).