計算功能
則 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