您的位置:首页 > 其它

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

2010-01-20 10:58 816 查看
适用于: Microsoft Office Access 2007

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

语法

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

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

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

interval 参数包含以下设置:

设置说明
yyyy
q季度
m
y某年的某一天
d
w工作日
ww
h
n
s
firstdayofweek 参数包含以下设置:

常量说明
vbUseSystem0使用 NLS API 设置。
vbSunday1星期日(默认)
vbMonday2星期一
vbTuesday3星期二
vbWednesday4星期三
vbThursday5星期四
vbFriday6星期五
vbSaturday7星期六
常量说明
vbUseSystem0使用 NLS API 设置。
vbFirstJan11从 1 月 1 日所在的周开始(默认)。
vbFirstFourDays2从至少包含新年中四天的第一周开始。
vbFirstFullWeek3从一年的第一个全周开始。
注解

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

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

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

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

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

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

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

示例

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

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

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

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

在 VBA 代码中使用 [b]DateDiff 函数[/b]

注释 以下示例演示了此功能在 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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: