我有一张桌子,我正在寻找DeliveryDate
,但有些记录没有DeliveryDate
所以VB认为这是00:00:00。
如何制定IF
条件来检查日期并查看它是否为00:00:00?
因为我想在日期为空(00:00:00)时将变量设置为 TRUE 。
答案 0 :(得分:3)
您希望检查日期是否已分配给Nothing
,在这种情况下,默认为Date.MinValue。快速而肮脏的方法是检查:
If DeliveryDate = Date.MinValue Then
它适用于午夜发送的套餐,因为您不可能在公元前1年安排任何套餐。
正确的方法是DeliveryDate
类型为Nullable(Of Date)
,因此您实际上可以在其中存储Convert.DBNull
(= Nothing
)。在这种情况下,代码变得更容易阅读:
If DeliveryDate Is Nothing Then
请注意,您可以在开头使用类似的行(DeliveryDate
类型为Date
):
If DeliveryDate = Nothing Then
但是,您宁愿避免将Nothing
隐式转换为Date.MinValue
,这种情况会在这种情况下发生在幕后,即使它看起来像{{1}一样可读}。
答案 1 :(得分:1)
您可以检查您的日期是否等于日期部分:
If DeliveryDate.Date = DeliveryDate Then ...
答案 2 :(得分:0)
我个人使用New Date
但它是一种风格选择 - 您也可以使用Nothing。
If DeliveryDate = New Date Then
或
If DeliveryDate = Nothing Then