Access 中的 DateDiff 函数(指定两个指定的日期之间的时间间隔数)

适用于: Microsoft Office Access 2007

 

 返回变量型长型),指定两个指定的日期之间的时间间隔数。

语法

DateDiff(interval, date1, date2 [, firstdayofweek] [, firstweekofyear] )

DateDiff 函数的语法包含以下参数

参数 说明
interval 必选。字符串表达式,该表达式为用于计算 date1 和 date2 之间的差的时间间隔。
date1date2 必选。变量型日期型)。表示两个要用于计算的日期。
firstdayofweek 可选。常量,指定一周的第一天。如果不指定,则默认为星期日。
firstweekofyear 可选。常量,指定一年的第一周。如果不指定,则第一周默认为 1 月 1 日所在的周。

设置

interval 参数包含以下设置:

设置 说明
yyyy
q 季度
m
y 某年的某一天
d
w 工作日
ww
h
n
s

firstdayofweek 参数包含以下设置:

常量 说明
vbUseSystem 0 使用 NLS API 设置。
vbSunday 1 星期日(默认)
vbMonday 2 星期一
vbTuesday 3 星期二
vbWednesday 4 星期三
vbThursday 5 星期四
vbFriday 6 星期五
vbSaturday 7 星期六

常量 说明
vbUseSystem 0 使用 NLS API 设置。
vbFirstJan1 1 从 1 月 1 日所在的周开始(默认)。
vbFirstFourDays 2 从至少包含新年中四天的第一周开始。
vbFirstFullWeek 3 从一年的第一个全周开始。

注解

可以使用 DateDiff 函数确定在两个日期之间存在多少指定的时间间隔。例如,可以使用 DateDiff 计算两个日期之间的天数或今天到年末之间的周数。

若要计算 date1 和 date2 之间的天数,可以使用“某年的某一天”(“y”) 或“天”(“d”)。当interval 为“工作日”(“w”) 时,DateDiff 返回两个日期之间的周数。如果 date1 为星期一,则 DateDiff 会计算 date2 之前的星期一的个数。它会将 date2 计算在内,但不会将 date1 计算在内。但是,如果 interval 为“周”(“ww”),DateDiff 函数将返回两个日期之间的日历周数。它会计算 date1 和 date2 之间的星期日的个数。如果 date2为星期日,则 DateDiff 会将其计算在内;但即使 date1 为星期日,也不会将其计算在内。

如果 date1 引用了比 date2 晚的时间点,则 DateDiff 函数返回一个负数。

firstdayofweek 参数会影响使用“w”和“ww”间隔符号的计算。

如果 date1 或 date2 为日期文本,则指定的年会成为日期的永久部分。但是,如果date1 或 date2 括在双引号 (" ") 中,并且省略了年份,则每次计算 date1 或 date2表达式时,当前年份都会插入代码中。这样即可编写用于不同年份的代码。

将 12 月 31 日与来年的 1 月 1 日相比较时,对于“年”("yyyy"),即使仅过去一天,DateDiff 也返回 1。

 注释    对于 date1 和 date2,如果 Calendar 属性设置为公历,则提供的日期必须为公历。如果日历为回历,则提供的日期必须为回历。

示例

在表达式中使用 DateDiff 函数  在任何可以使用表达式的地方都可以使用 DateDiff函数。例如,假定您具有一个用来履行客户订单的窗体。在“订单 (Orders)”表中,有一个名为“到货日期 (ReceiveBefore)”的字段,其中包含客户需要接收所订货物的日期。您可以使用 DateDiff 函数以及窗体上的文本框显示到必须送货的日期所剩余的天数。

假定送货需要十天时间,则可如下设置文本框的“控件来源”属性:

=DateDiff(“d”, Now(), [Orders].[ReceiveBefore])-10

在窗体视图中打开窗体时,文本框会显示到必须送货的日期前剩余的天数。如果到客户需要收货的日期的天数少于 10 天,则文本框中的数字为负数,指示如果立即送货客户收货时间的延迟天数。

在 VBA 代码中使用 DateDiff 函数  

 注释   以下示例演示了此功能在 Visual Basic for Applications (VBA) 模块中的使用。有关使用 VBA 的详细信息,请在“搜索”旁边的下拉列表中选择“开发人员参考”,然后在搜索框中输入一个或多个词条。

以下示例使用 DateDiff 函数显示给定日期和今天之间的天数。

Dim TheDate As Date    ' Declare variables.

Dim Msg

TheDate = InputBox("Enter a date")

Msg = "Days from today: " & DateDiff("d", Now, TheDate)

MsgBox Msg

 

 摘自:http://office.microsoft.com/zh-cn/access/HA012288112052.aspx

 

你可能感兴趣的:(datediff)