Как сравнить временную часть datetime

Если у вас есть что-то вроде packet_data = "This is data", сделайте это на следующей строке, сразу после инициализации packet_data:

unic = u''
packet_data = unic
29
задан user5377037 3 October 2017 в 14:13
поделиться

3 ответа

Вы можете использовать свойство 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.
66
ответ дан Justin Pihony 3 October 2017 в 14:13
поделиться

Все операторы <, <=, >, >=, == работают непосредственно с объектами 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
}
21
ответ дан Lucas Prestes 3 October 2017 в 14:13
поделиться

Используйте метод 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.

2
ответ дан mgnoonan 3 October 2017 в 14:13
поделиться
Другие вопросы по тегам:

Похожие вопросы: