我在我的问题中看到了几个类似的标题,但他们关注的重点不同。
我想问的是,
我正在尝试比较 2 个日期。是的,听起来超级简单!
这是问题:
我有两个变量,我正在尝试将这两个变量与 Now() 进行比较。
就像 :
If startDate < Now() and endDate> Now() Then
do something....
End If
但问题是,当我将 startDate(即('2013-08-08 09:30 AM')与 Now() 和 endDate(即'2013-09-09 02:30 PM')与 Now() 进行比较时
startDate = '2013-08-08 09:30 AM' 'This value comes from db, I have not typed it. Just trying to show what it has as a value.
endDate = '2013-09-09 02:30 PM' 'This value comes from db, I have not typed it. Just trying to show what it has as a value.
当我比较这两个日期变量时:
If startDate < Now() Then
do something....
End If
它返回:假。它应该返回 TRUE,不是吗?
If startDate > Now() Then
do something....
End If
它返回:TRUE。它应该返回 FALSE,不是吗?
If endDate < Now() Then
do something....
End If
但在这里,它返回正确。我的意思是这会返回 FALSE,这是它应该返回的。
这太奇怪了。我检查了所有这些变量的值及其比较结果。价值观看起来不错,没有什么奇怪的。但是当我比较 startDate 和 Now() 时,为什么 startDate 的行为比 Now() 更重要,我无法理解。
我试过了 :
If FormatDateTime(startDate) < FormatDateTime(Now()) Then do something
If FormatDateTime(CDate(startDate)) < FormatDateTime(CDate(Now())) Then do something
If DateValue(startDate) < DateValue(Now()) Then do something
还尝试了上述一些嵌套括号。但没有运气。
他们都没有工作。
这个问题只是在过去几个小时里蚕食了我的大脑。
希望它清楚地解释。
寻找建议,
提前致谢!
编辑:NOW() 是 2013-09-05 12:30 PM