2 つの DateTimePicker コントロールを含むフォームがあります
DateTime.Compare は、値が同じ場合は 0 を返す必要がありますが、同じではないと見なされます。
?DateTime.Compare(DatePicker.dtpFrom.Value, DatePicker.dtpTo.Value)
1
?datepicker.dtpFrom.Value
#9/20/2012 7:00:46 PM#
?DatePicker.dtpTo.Value
#9/20/2012 7:00:46 PM#
私はどういうわけか明確に考えていませんか?確かに、これは .NET Framework のバグではありません。
UPDATE OKミリ秒の値を確認しましたが、オフになっています(ごくわずかです)。風変わりな!コントロールが構築され、デフォルト値が設定されるときの微妙な遅延に関係していると思います。
?DatePicker.dtpTo.value.ToString("fff")
"616"
?datepicker.dtpFrom.Value.ToString("fff")
"619"
日付部分だけが気になるので、解決しました:
If DateTime.Compare(DatePicker.dtpFrom.Value.Date, DatePicker.dtpTo.Value.Date) > 0 Then
MsgBox("From_Date cannot be after To_Date", MsgBoxStyle.OkOnly, "Data validation error")