Ответ 1
Вы можете использовать свойство TimeOfDay и использовать Сравнение с ним.
TimeSpan.Compare(t1.TimeOfDay, t2.TimeOfDay)
По документации:
-1 if t1 is shorter than t2.
0 if t1 is equal to t2.
1 if t1 is longer than t2.
Скажем, у нас есть
DateTime t1 = DateTime.Parse("2012/12/12 15:00:00.000");
а также
DateTime t2 = DateTime.Parse("2012/12/12 15:03:00.000");
Как сравнить его в С# и сказать, какое время "позже"?
Вы можете использовать свойство TimeOfDay и использовать Сравнение с ним.
TimeSpan.Compare(t1.TimeOfDay, t2.TimeOfDay)
По документации:
-1 if t1 is shorter than t2.
0 if t1 is equal to t2.
1 if t1 is longer than t2.
Операторы <
, <=
, >
, >=
работают непосредственно с объектами DateTime
и TimeSpan
. Так что это работает:
DateTime t1 = DateTime.Parse("2012/12/12 15:00:00.000");
DateTime t2 = DateTime.Parse("2012/12/12 15:03:00.000");
if(t1.TimeOfDay > t2.TimeOfDay) {
//something
}
else {
//something else
}
Используйте метод DateTime.Compare
:
DateTime date1 = new DateTime(2009, 8, 1, 0, 0, 0);
DateTime date2 = new DateTime(2009, 8, 1, 12, 0, 0);
int result = DateTime.Compare(date1, date2);
string relationship;
if (result < 0)
relationship = "is earlier than";
else if (result == 0)
relationship = "is the same time as";
else
relationship = "is later than";
Console.WriteLine("{0} {1} {2}", date1, relationship, date2);
Изменить. Если вы просто хотите сравнить время и игнорировать дату, вы можете использовать TimeOfDay
как предложили другие. Если вам нужно что-то менее мелкозернистое, вы также можете использовать свойства Hour
и Minute
.