我有一个带有两个 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 中的一些错误。
更新 确定我检查了毫秒值,它们关闭(非常轻微)。古怪!我想这与构造控件并设置其默认值时的一些细微延迟有关。
?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")