1

我试图找出可空日期之间的区别。DateDiff(DateInterval.Day, firstDate, secondDate)适用于Date,但不适用于Nullable(Of Date)。我的两个日期都是可为空的字段。

这是错误消息:

重载解析失败,因为没有DateDiff缩小转换就无法调用可访问:

  • Public Function DateDiff(Interval As String, Date1 As Object, Date2 As Object, [DayOfWeek As Microsoft.VisualBasic.FirstDayOfWeek = FirstDayOfWeek.Sunday], [WeekOfYear As Microsoft.VisualBasic.FirstWeekOfYear = FirstWeekOfYear.Jan1]) As Long: 参数匹配参数Interval从 缩小Microsoft.VisualBasic.DateIntervalString

  • Public Function DateDiff(Interval As Microsoft.VisualBasic.DateInterval, Date1 As Date, Date2 As Date, [DayOfWeek As Microsoft.VisualBasic.FirstDayOfWeek = FirstDayOfWeek.Sunday], [WeekOfYear As Microsoft.VisualBasic.FirstWeekOfYear = FirstWeekOfYear.Jan1]) As Long: 参数匹配参数Date1从 缩小Date?Date

  • Public Function DateDiff(Interval As Microsoft.VisualBasic.DateInterval, Date1 As Date, Date2 As Date, [DayOfWeek As Microsoft.VisualBasic.FirstDayOfWeek = FirstDayOfWeek.Sunday], [WeekOfYear As Microsoft.VisualBasic.FirstWeekOfYear = FirstWeekOfYear.Jan1]) As Long: 参数匹配参数Date2从 缩小Date?Date

4

3 回答 3

2

您必须.Value在可为空的Date对象上调用。

DateDiff(DateInterval.Day, firstDate.Value, secondDate.Value) 
于 2013-08-15T15:55:28.667 回答
1

如果您知道它们不是Nothing,请获取它们的值:

DateDiff(DateInterval.Day, firstDate.Value, secondDate.Value)

但是您可以利用运算符重载,因为这不是 VB6:

(secondDate.Value - firstDate.Value).Days
于 2013-08-15T15:59:15.240 回答
-1

2 Years Late to Answer the question.... :)

The error Above could be caused by a data type miss match. Use DateValue function e.g

DateDiff(DateInterval.Day, DateValue(stringwiDate.text), DateValue(string2witDate.text))
于 2015-11-28T14:10:57.600 回答