Как сравнить 2 DataTime?

avgur

Новичок
Регистрация
15.07.2017
Сообщения
6
Благодарностей
0
Баллы
1
Есть 2 переменные DataTime. Надо выяснить прошло ли от одного DataTime до другого больше 12 часов. Есть ли в DataTime какие-нибудь методы, чтобы это сделать просто? Потому что единственный вариант, который мне приходит в голову, это вычесть один DataTime из другого, потом перевести результат в строку и мучительно парсить результат.
 

ТРОН

Client
Регистрация
31.07.2016
Сообщения
336
Благодарностей
381
Баллы
63
Примерно так, dt и now можно присвоить переменные из проекта
Код:
int h = 12; //Устанавливаем количество часов для сравнения
DateTime dt = DateTime.Parse("00:00 06.01.2018"); // Заданное время
DateTime now = DateTime.Now; // Текущее время
TimeSpan diff = now - dt; // от текущего времени отнимаем заданное
var Hours = Math.Floor(diff.TotalHours); // переводим разницу в округленные часы
if (Hours>h)
{
   return "прошло " + Hours + " часов";
}
else
{
  return Hours;
}
 

avgur

Новичок
Регистрация
15.07.2017
Сообщения
6
Благодарностей
0
Баллы
1
На другом форуме подсказали
Можно вычесть, НЕ приводить к строке и легко и просто сравнить с TimeSpan
if (d1 - d2 > TimeSpan.FromHours(12)) { ... }
 

doc

Client
Регистрация
30.03.2012
Сообщения
8 614
Благодарностей
4 604
Баллы
113

Кто просматривает тему: (Всего: 1, Пользователи: 0, Гости: 1)