2014-11-10 6 views
1

У меня есть два раза следующим образом:Как получить дату и время до второго?

DateTime time1=Datetimepicker1.value; 
DateTime time2=file1.creationtime; 

TIME1 и time2 как есть дата и время показывает 12-31-2014 15:00:33
, но когда я compairing оба раза он дает ложным результат как:

int result=DateTime.Compare(time1,time2); 

результата значение 0.
Как?

+3

Вы уверены, что они не ** ** равны? Если они совпадают, нормально, когда вы сравниваете их, получается '0'. Ваше название и ваш вопрос говорят разные вещи. –

+0

да, собственно, timeticks разные –

+0

что вы ожидаете в результате - как @ SonerGönül сказал, что нормально получать 0, когда они равны – codebot

ответ

-3
DateTime time1 = Datetimepicker1.value; 
DateTime time2 = file1.creationtime; 
TimeSpan delta = time1 - time2; 
bool areSame = Math.Abs(delta.TotalSeconds) < 1; 
6

Результат правильный. По this MSDN page функция работает в соответствии с логикой ниже предполагая даты названы t1 и t2:

__Value Type__  __Condition__ 

Less than zero  t1 is earlier than t2. 
Zero    t1 is the same as t2. 
Greater than zero t1 is later than t2. 
2

Если ваш код:

int result = DateTime.Compare(t1,t2) 

Тогда следующие правила:

result = 0 => t1=t2 
result < 0 => t1<t2 
result > 0 => t1>t2 
1

Метод DateTime.Compare возвращает значение нуля для тех же значений. Дополнительную информацию см. В разделе link.

enter image description here

Смежные вопросы