Печатание в заголовке к этому вопросу привело меня к этому вопросу .Я ищу то же самое, но что-то, возможно, менее статически отформатированное, если вы понимаете, что я имею в виду?
Я пишу быструю программу, которая будет принимать длительность TimeSpan двух объектов DateTime и выводить их дляпечать на бумаге.
Предпочтительный формат: XX days, YY hours, ZZ minutes
(секунды не имеют значения; как и дни, потому что я не ожидаю, что временной интервал будет включать более нескольких часов).
Скажите следующий код (как пример):
DateTime start = DateTime.Now;
DateTime end = DateTime.Now.AddMinutes(135);
TimeSpan duration = (end - start);
// output duration as XX hours, YY minutes
Спасибо,Зак
PS Я также наткнулся на " PrettyTime.NET ", но он выводит такие вещи, как "3 дня назад" и т. Д. Любая другая тема, которую я нашел в Google для форматирования строк длительности времени, напримерПриведенные выше примеры приводят меня к решению на основе Java.: \
ОБНОВЛЕНИЕ 2014-09-08:
Для продолжения через 3 года я обнаружил потрясающую библиотеку на NuGet и Github под названием« Humanizer », которая решит эту проблему, с которой я столкнулся.Я не использовал это так много, но я попробовал это, и это прекрасно работает.Хотя это довольно большая библиотека (она генерирует целую кучу папок для разных культур в пути сборки вашего проекта (я уверен, что есть способ настроить его)).