Ввод в заголовок этого вопроса привел меня к этому вопросу. Я ищу то же самое, но что-то, возможно, менее статически отформатировано, если вы понимаете, что я имею в виду?
Я пишу краткую программу, которая будет использовать продолжительность 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
Спасибо,
Zack
P.S. Я также столкнулся с " PrettyTime.NET", но он выводит такие вещи, как "3 дня назад" и т.д. Все остальные темы, которые я нашел в google для форматирования строк времени, подобных приведенным выше примерам, приводит меня к решению на основе Java.:\
ОБНОВЛЕНИЕ 2014-09-08:
Чтобы следить за 3 годами, я нашел потрясающую библиотеку в NuGet и Github, назвав " Humanizer, которая решить этот вопрос, который у меня был. Я не использовал его так сильно, но я попробовал, и он прекрасно работает. Это довольно большая библиотека (она выделяет целую кучу папок для разных культур на ваш путь построения проекта (я уверен, что есть способ ее настроить)).