DateDiff 函数

返回两个日期之间的间隔数。

语法

DateDiff(interval, date1, date2)

参数:

  • Interval必需。字符串表达式,这是要用于计算 date1 与 date2 之间的差异的间隔。有关值,请参阅“设置”部分。
  • date1, date2必需。日期表达式。要用于计算的两个日期。
设置:interval 参数可以具有以下值:

表 11-10 Interval 参数值

设置 说明
yyyy
q 季度
m
d
w 工作日
h 小时
n 分钟
s

支持的日期格式

  • MM-DD-YYYY
  • MM/DD/YYYY
  • DD-MM-YYYY
  • DD/MM/YYYY
  • YYYY-MM-DD
  • YYYY/MM/DD

支持的时间格式

hh:mm:ss

注释

可以使用 DateDiff 函数确定两个日期之间存在的指定时间间隔数。例如,可以使用 DateDiff 计算两个日期之间的天数。

要计算 date1 和 date2 之间的天数,可以使用日 ("d")。如果 date1 引用的时间点晚于 date2,则 DateDiff 函数返回负数。

将 12 月 31 日与下一年的 1 月 1 日进行比较时,如果 interval 设置为年 ("yyyy"),DateDiff 将返回 1,即使只过去了一天。

以下示例使用 DateDiff 函数显示给定日期与今天之间间隔的天数:

示例 1

Function DiffADate(theDate)
DiffADate = "Days from today: " & DateDiff("d", Now, theDate)
End Function

示例 2

Dim StartDate, EndDate, Difference
StartDate = "01/01/2025"
EndDate = "21/01/2025"
Difference = DateDiff("d", StartDate, EndDate) 
'Output: 20

示例 3

Dim StartDate, EndDate, Difference
StartDate = "01/01/2020"
EndDate = "01/01/2025"
Difference = DateDiff("yyyy", StartDate, EndDate) 
'Output: 5

示例 4

Dim StartDate, EndDate, Difference
StartDate = "21/01/2025"
EndDate = "21/03/2025" 
Difference = DateDiff("m", StartDate, EndDate)
'Output: 2

示例 5

Dim StartDate, EndDate, Difference
StartDate = "21/01/2025 08:00:00" ' Includes time component.
EndDate = "21/01/2025 18:00:00"   ' Includes time component.
Difference = DateDiff("h", StartDate, EndDate) 
'Output: 10

示例 6

Dim StartDate, EndDate, Difference
StartDate = "21/01/2025 08:00:00" ' Includes time component.
EndDate = "21/01/2025 08:45:00"   ' Includes time component.
Difference = DateDiff("n", StartDate, EndDate) 
'Output: 45

示例 7

Dim StartDate, EndDate, Difference
StartDate = "21/01/2025 08:45:00" ' Includes time component.
EndDate = "21/01/2025 08:45:50"   ' Includes time component.
Difference = DateDiff("s", StartDate, EndDate) 
'Output: 50