DateDiff函数
描述
返回两个日期之间的时间间隔。
语法
DateDiff(interval,date1,date2[,firstdayofweek][,firstweekofyear]])
DateDiff函数的语法有以下参数:
参数描述
interval必选。字符串表达式,表示用于计算date1和date2之间的时间间隔。有关数值,请参阅“设置”部分。
date1,date2必选。日期表达式。用于计算的两个日期。
firstdayofweek可选。指定星期中第一天的常数。如果没有指定,则默认为星期日。有关数值,请参阅“设置”部分。
firstweekofyear可选。指定一年中第一周的常数。如果没有指定,则默认为1月1日所在的星期。有关数值,请参阅“设置”部分。
设置
interval参数可以有以下值:
设置描述
yyyy年
q季度
m月
y一年的日数
d日
w一周的日数
ww周
h小时
m分钟
s秒
firstdayofweek参数可以有以下值:
常数值描述
vbUseSystem0使用区域语言支持(NLS)API设置。
vbSunday1星期日(默认)
vbMonday2星期一
vbTuesday3星期二
vbWednesday4星期三
vbThursday5星期四
vbFriday6星期五
vbSaturday7星期六
firstweekofyear参数可以有以下值:
常数值描述
vbUseSystem0使用区域语言支持(NLS)API设置。
vbFirstJan11由1月1日所在的星期开始(默认)。
vbFirstFourDays2由在新年中至少有四天的第一周开始。
vbFirstFullWeek3由在新的一年中第一个完整的周开始。
说明
DateDiff函数用于判断在两个日期之间存在的指定时间间隔的数目。例如可以使用DateDiff计算两个日期相差的天数,或者当天到当年最后一天之间的星期数。
要计算date1和date2相差的天数,可以使用“一年的日数”(“y”)或“日”(“d”)。当interval为“一周的日数”(“w”)时,DateDiff返回两个日期之间的星期数。如果date1是星期一,则DateDiff计算到date2之前星期一的数目。此结果包含date2而不包含date1。如果interval是“周”(“ww”),则DateDiff函数返回日历表中两个日期之间的星期数。函数计算date1和date2之间星期日的数目。如果date2是星期日,DateDiff将计算date2,但即使date1是星期日,也不会计算date1。
如果date1晚于date2,则DateDiff函数返回负数。
firstdayofweek参数会对使用“w”和“ww”间隔符号的计算产生影响。
如果date1或date2是日期文字,则指定的年度会成为日期的固定部分。但是如果date1或date2被包括在引号("")中并且省略年份,则在代码中每次计算date1或date2表达式时,将插入当前年份。这样就可以编写适用于不同年份的程序代码。在interval为“年”(“yyyy”)时,比较12月31日和来年的1月1日,虽然实际上只相差一天,DateDiff返回1表示相差一个年份。