计算功能
则 DateDiff()
DateDiff()
返回一个 Long
,表示两个指定日期之间的时间间隔数。
句法
DateDiff ( interval, date1, date2 [, firstdayofweek] [, firstweekofyear] )
- interval 可以是
DatePart()
函数中定义的任何区间 - date1 和 date2 是你要在计算中使用的两个日期
- Firstdayofweek 可与 firstweekofyear 是可选的。有关说明,请参阅
DatePart()
功能
例子
Sub DateDiffExamples()
' Check to see if 2016 is a leap year.
Dim NumberOfDays As Long
NumberOfDays = DateDiff("d", #1/1/2016#, #1/1/2017#)
If NumberOfDays = 366 Then
Debug.Print "2016 is a leap year." 'This will output.
End If
' Number of seconds in a day
Dim StartTime As Date
Dim EndTime As Date
StartTime = TimeSerial(0, 0, 0)
EndTime = TimeSerial(24, 0, 0)
Debug.Print DateDiff("s", StartTime, EndTime) 'prints 86400
End Sub
使用 DateAdd()
DateAdd()
返回已添加指定日期或时间间隔的 Date
。
句法
DateAdd ( interval, number, date )
- interval 可以是
DatePart()
函数中定义的任何区间 - number 数字表达式,是你要添加的间隔数。它可以是正面的(在将来获得日期)或者是负面的(在过去获取日期)。
- date 是表示添加间隔的日期的
Date
或文字
例子 :
Sub DateAddExamples()
Dim Sample As Date
'Create sample date and time of 2016-07-28 12:34:56
Sample = DateSerial(2016, 7, 28) + TimeSerial(12, 34, 56)
' Date 5 months previously (prints 2016-02-28):
Debug.Print Format$(DateAdd("m", -5, Sample), "yyyy-mm-dd")
' Date 10 months previously (prints 2015-09-28):
Debug.Print Format$(DateAdd("m", -10, Sample), "yyyy-mm-dd")
' Date in 8 months (prints 2017-03-28):
Debug.Print Format$(DateAdd("m", 8, Sample), "yyyy-mm-dd")
' Date/Time 18 hours previously (prints 2016-07-27 18:34:56):
Debug.Print Format$(DateAdd("h", -18, Sample), "yyyy-mm-dd hh:nn:ss")
' Date/Time in 36 hours (prints 2016-07-30 00:34:56):
Debug.Print Format$(DateAdd("h", 36, Sample), "yyyy-mm-dd hh:nn:ss")
End Sub