2015-04-26 2 views
-2

Я хотел бы сравнить 2 значение DateTimePicker вкак сравнить 2 DateTimePicker vb.net

Dim dd1 As Date, dd2 As Date 
Dim diff As Integer 

dd1 = DateTimePicker1.Value 
dd2 = DateTimePicker2.Value 

diff = DateDiff("d", dd1, dd2) 
If diff > 0 Then 
    MsgBox("datetimpicker1datetimepicker2") 
End If 

, но он не работает не могли бы вы помочь мне, пожалуйста

+0

Что вы имеете в виду, говоря, что не работает? – Azat

+0

Имейте в виду, что DateDiff вернет отрицательное число, если первая дата позже второй даты, что означает, что ваш MsgBox не будет отображаться. – Blackwood

ответ

0

Если Вы используете DateDiff(), то есть три случая может быть возможным: -

1) дата DATEPICKER1 больше, чем DATEPICKER2

2) дата DATEPICKER1 ниже DATEPICKER2

3) дата DATEPICKER1 равно DATEPICKER2

Чтобы справиться с этим, Вы должны использовать эту

diff = DateDiff("d", dd1, dd2) 
If diff > 0 Then 
    MsgBox("datetimpicker1 is greater than datetimepicker2") 
Else If diff < 0 Then 
    MsgBox("datetimpicker1 is lesser than datetimepicker2") 
Else 
    MsgBox("datetimpicker1 is equal to datetimepicker2") 
End If 
1

Другой способ сравнения будет использовать функцию DateTime.Compare. Для простого «Они одинаковые?» Вы можете попробовать:

If Not DateTime.Compare(dd1,dd2) = 0 then 
    'they are diffent 
End If 

Или, если вы хотите быть более точным, то вы можете пойти с чем-то вроде этого:

If Not DateTime.Compare(dd1,dd2) = 0 then 
    'they are same 
ElseIf DateTime.Compare(dd1,dd2) > 0 then 
    'dd1 is later than dd2 
Else 
    'dd1 is prior to dd2 
End If 

Вы можете увидеть больше о DateTime.Comare здесь MSDN

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