Поэтому я пытаюсь рассчитать, как долго это будет до определенного времени. Но я не могу заставить его работать.
Например, скажем, я пытаюсь рассчитать, сколько времени пройдет с этого момента до 06:00:00. Итак, скажем, сейчас 22:30. Я хочу посмотреть, сколько времени пройдет до 6:00 следующего дня. Таким образом, правильный ответ будет 7 часов и 30 минут. Или другой пример: сейчас 20:30. Я хочу посмотреть, сколько времени продлится до 22:00. Если бы кто-нибудь мог предоставить мне какой-нибудь код, чтобы помочь, это было бы очень признательно!
Попробуй это
DateTime later = DateTime.Now.AddHours(3);
DateTime now = DateTime.Now;
Console.WriteLine(later.Subtract(now).TotalSeconds);
Сначала сравните временной интервал, а затем при необходимости добавьте один день.
static TimeSpan TimeDiff(TimeSpan nowSpan, TimeSpan ts)
{
if (nowSpan > ts)
{
ts = ts.Add(TimeSpan.FromDays(1));
}
return ts - nowSpan;
}
static void Main(string[] args)
{
Console.WriteLine(TimeDiff(new TimeSpan(22, 30, 0), new TimeSpan(6, 0, 0)));
// 07:30:00
Console.WriteLine(TimeDiff(new TimeSpan(20, 30, 0), new TimeSpan(22, 0, 0)));
// 01:30:00
// You may want use DateTime.Now.TimeOfDay as the first parameter
Console.ReadKey();
}
Отвечает ли это на ваш вопрос? c# Рассчитать время, оставшееся до определенного времени Вы только что опубликовали это??