有谁可以请帮助我。我打算将日期打印为-1天,以防时间在凌晨12:00到凌晨04:00之间。如果是从04:00到11:59:59,Pm应显示当前日期。
我挣扎了很多但没有想要的结果。
If cTime < "04:00:00 AM" Or cTime >= "12:00:00 AM" Then
Workbooks("Check").Sheets(1).Cells(lastrow + 1, 1).Value = DateAdd("d", -1, Date)
Else
Workbooks("Check").Sheets(1).Cells(lastrow + 1, 1).Value = Date
End If
答案 0 :(得分:1)
我不知道cTime是什么,但过去当我处理这样的时间操作时[因为它们很简单],为什么不尝试使用Hour功能呢?
If Hour(Now) >= 0 And Hour(Now) <= 4 Then
Workbooks("Check").Sheets(1).Cells(lastrow + 1, 1).Value = DateAdd("d", -1, Date)
Else
Workbooks("Check").Sheets(1).Cells(lastrow + 1, 1).Value = Date
End If
对于原始代码,您还应该确保使用的是AND,而不是OR。如果当前时间是上午11:00(大致对我而言),则符合条件Hour(Now) > 0 (12AM)
。但它不符合标准Hour(Now) < 4 (4AM)
。由于它是一个OR,它只需要满足A
,而不是A and B
。