Skip to content

DateDiff

返回一个 Variant (Long),指定两个指定日期之间的时间间隔数。

语法:DateDiff ( interval, date1, date2 [, firstdayofweek [, firstweekofyear ]] )

interval
必需 字符串表达式,表示用于计算 date1date2 之间差值的时间间隔。参见间隔设置
date1, date2
必需 Variant (Date)。用于计算的两个日期。
firstdayofweek
可选 一个 VbDayOfWeek 常量,指定一周的第一天。默认为 vbSunday
firstweekofyear
可选 一个 VbFirstWeekOfYear 常量,指定一年的第一周。默认为 vbFirstJan1

间隔设置

设置描述
yyyy
q季度
m
y一年中的天数
d
w星期几
ww
h小时
n分钟
s

firstdayofweek 设置

常量描述
vbUseSystem0NLS API 设置。
vbSunday1星期日(默认)。
vbMonday2星期一。
vbTuesday3星期二。
vbWednesday4星期三。
vbThursday5星期四。
vbFriday6星期五。
vbSaturday7星期六。

firstweekofyear 设置

常量描述
vbUseSystem0NLS API 设置。
vbFirstJan11包含 1 月 1 日的周(默认)。
vbFirstFourDays2新年中至少有四天的第一周。
vbFirstFullWeek3一年的第一个完整周。

要计算 date1date2 之间的天数,请使用一年中的天数 ("y") 或日 ("d")。当 interval 为星期几 ("w") 时,DateDiff 返回两个日期之间的周数。如果 date1 是星期一,DateDiff 计算到 date2 之间的星期一数量。它计算 date2 但不计算 date1

然而,如果 interval 为周 ("ww"),DateDiff 返回两个日期之间的日历周数。它计算 date1date2 之间的星期日数量。如果 date2 是星期日,DateDiff 会将其计入,但不计算 date1,即使 date1 也是星期日。

如果 date1 引用的时间点晚于 date2,函数返回一个负数。firstdayofweek 参数影响使用 "w" 和 "ww" 间隔符号的计算。

如果 date1date2 是日期字面量,指定的年份成为该日期的永久部分。如果 date1date2 用双引号括起且省略了年份,则每次计算表达式时都会插入当前年份。

当比较 12 月 31 日与紧接着下一年的 1 月 1 日时,DateDiff 对于年 ("yyyy") 返回 1,即使只过了一天。

如果 Calendar 属性设置为公历,则提供的日期必须为公历。如果日历为回历,则提供的日期必须为回历。

示例

此示例使用 DateDiff 函数显示给定日期与今天之间的天数。

vb
Dim TheDate As Date
Dim Msg As String
TheDate = InputBox("Enter a date")
Msg = "Days from today: " & DateDiff("d", Now, TheDate)
MsgBox Msg

另请参阅

twinBASIC及其LOGO版权为作者"韦恩"所有