Как вычесть и округлить время - PullRequest
2 голосов
/ 11 января 2012

Q:

Если у меня есть два периода в следующем формате .ToString("H:m"); и я хочу сначала вычесть конечный период из первого периода, то округлить результат. Как в следующем примере :

13: 00 ----> Первый период.

13,45 ----> Последний период.

результат 45 ----> округление до 60

если результат = 75, например, затем округлить до 120

Ответы [ 2 ]

3 голосов
/ 11 января 2012

как то так

 var t1 = TimeSpan.Parse("13:00").TotalMinutes;
 var t2 = TimeSpan.Parse("13:45").TotalMinutes;
 var round = (1 + ((int)(t2 - t1) / 60)) * 60; //Assuming t2 is always greater than t1

Надеюсь, это то, что вы ищете.

0 голосов
/ 11 января 2012

Вы можете использовать datetime.parse, чтобы получить два объекта datetime для первого и последнего периода, а затем вычесть их, используя lastperiod.subtract (firstperiod), это вернет объект времени, который вы можете затем округлить, как хотите

...