我有一张我正在查询的表格,DeliveryDate
但有些记录没有,DeliveryDate
所以 VB 将其视为 00:00:00。
如何IF
设置条件来检查日期并查看它是否为 00:00:00?因为我想在日期为空(00:00:00)时将变量设置为TRUE 。
我有一张我正在查询的表格,DeliveryDate
但有些记录没有,DeliveryDate
所以 VB 将其视为 00:00:00。
如何IF
设置条件来检查日期并查看它是否为 00:00:00?因为我想在日期为空(00:00:00)时将变量设置为TRUE 。
看起来您想检查是否将 date 分配给Nothing
,在这种情况下,它将默认为Date.MinValue。快速而肮脏的方法是检查:
If DeliveryDate = Date.MinValue Then
它适用于在午夜交付的包裹,因为您不太可能在公元前 1 年安排任何包裹交付。
正确的方法是使用DeliveryDate
type Nullable(Of Date)
,因此您实际上可以在其中存储Convert.DBNull
(= Nothing
)。在这种情况下,代码变得更容易阅读:
If DeliveryDate Is Nothing Then
请注意,您可以在开始时使用类似的行(DeliveryDate
类型为Date
):
If DeliveryDate = Nothing Then
但是,您宁愿避免 to 的隐式转换Nothing
,Date.MinValue
这在这种情况下会在幕后发生,即使它看起来与 . 一样可读Is Nothing
。
您可以检查您的日期是否等于日期部分:
If DeliveryDate.Date = DeliveryDate Then ...
我个人使用New Date
,但它是一种风格选择——你也可以使用 Nothing。
If DeliveryDate = New Date Then
或者
If DeliveryDate = Nothing Then