2013-06-24 2 views
1

Я ищу решение для сокращения секунд с объекта TimeSpan. Это не запрос на форматирование, это удаление.Усечение TimeSpan Секунд, чтобы избежать изменений свойств.

Начальное состояние var myTimeSpan = new TimeSpan (2, 1, 30, 10);

желательное состояние 02: 01: 30: 00

Изменение недвижимости Выпуск: У меня есть таймер, который проверяет время каждый второй (по желанию). Результат секунд, прикрепленных к объекту TimeSpan, заключается в том, что он запускает событие PropertyChanged каждую секунду.

Удаление секундной части замедляет событие события PropertyChanged до 1-минутного интервала (желательно).

Идеи Оценил - Гленн

ответ

2

Просто построить новый TimeSpan от оригинала, с секунды явно установлен в 0:

var newTimeSpan = new TimeSpan(
         myTimeSpan.Days, myTimeSpan.Hours, 
         myTimeSpan.Minutes, 0); 
+0

Может быть стоит посмотреть на этот вопрос SO тоже: HTTP: // StackOverflow. com/questions/338658/can-you-round-a-net-timespan-object –

+0

@ DanielHollinrake Это немного отличается, но похоже. Плакат здесь специально хочет усечения, а не округления, хотя и хочет его в считанные секунды (что делает жизнь намного проще). Мой вариант выше фактически становится более эффективным, чем многие из тех, поскольку усечение не требует некоторых из этих обручей, и намного проще следовать, тоже;) –

+0

Спасибо, Рид. Я дам вам повод и дам вам знать. Glenn – user2284452

Смежные вопросы