Я знаю, как рассчитать разницу между двумя датами, но как рассчитать время между данной датой и следующими 8 часами утра?
var now = DateTime.Now; var tomorrow8am = now.AddDays(1).Date.AddHours(8); double totalHours = ( tomorrow8am - now).TotalHours;
var now = DateTime.Now; double diffHours = 24 - (now - now.Date).TotalHours + 8;
Работает задолго до 8 утра того же дня.
DateTime now = DateTime.Now; DateTime next8am =now.Date.AddHours(8); if(now.TimeOfDay>TimeSpan.FromHours(8)) next8am.AddDays(1); return next8am.Subtract(now).TotalHours
Как на счет этого
var now = DateTime.Now(); var target = DateTime.Today.AddDays(1).AddHours(8); var result = (target - now).Hour;