DateDiff 函数

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

查看一些示例

语法

DateDiff 间隔,date1 和 date2 [firstdayofweek] [firstweekofyear] )

DateDiff函数语法具有以下参数︰

提示: 在 Access 2010 中,表达式生成器具有 IntelliSense,以便您可以查看您的表达式需要哪些参数。

参数

描述

间隔

必填。用于计算date1date2之间差异的时间间隔的字符串表达式。

date1 date2

必填。变体(日期)。要在计算中使用两个日期。

firstdayofweek

可选。指定一周的第一天常量 。如果未指定,则假定星期日开始。

firstweekofyear

可选。指定一年的第一周的常数。如果未指定,则假定第一周为 1 月 1 日的周。


设置

间隔 参数具有这些设置︰

设置

说明

yyyy

q

季度

m

月份

y

年中的某一天

d

w

工作日

ww

h

小时

n

分钟

s


返回页首

Firstdayofweek 参数具有这些设置︰

常量

说明

vbUseSystem

0

使用 NLS API 设置。

vbSunday

1

星期日 (默认)

星期几

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计算两个日期或当前年度结束之间的周数之间的天数。

若要计算date1date2之间的天数,可以使用日期的年份 ("y"),或者天 ("d")。当间隔Weekday ("w"), DateDiff返回两个日期之间的周数。如果date1落在星期一, DateDiff对直到date2星期一数进行计数。该函数计算date2但不是date1。如果间隔周 ("ww"),但是, DateDiff函数返回两个日期之间的日历周数。计算date1date2之间星期日的数目。DateDiff计算date2位于星期日;但不会计算date1,即使它位于星期日。

如果以后在时间比date2date1引用, DateDiff函数将返回一个负数。

Firstdayofweek 参数影响使用"w"和"ww"间隔符号的计算。

如果date1date2日期字符串,指定的年将成为该日期的永久部分。但是,如果date1date2括在双引号 (""),并省略了年、 当前年份插入代码中每次计算date1date2表达式。这样,编写代码,可以在其他年份使用。

比较时立即后续 1 年月 1 到 12 月 31 日, DateDiff年 ("yyyy") 将返回 1,即使是经过了仅一天。

注意: Date1date2,如果日历属性设置为公历,提供的日期必须是公历。如果日历为回历,提供的日期必须是回历。

返回页首

示例

使用表达式中 DateDiff 函数    您可以使用表达式的任意位置,您可以使用DateDiff函数。例如,假设您有用于履行客户订单窗体。在订单表中,您有一个名为 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

注释: 

  • 机器翻译免责声明:本文是由无人工介入的计算机系统翻译的。Microsoft 提供机器翻译是为了帮助非英语国家/地区用户方便阅读有关 Microsoft 产品、服务和技术的内容。由于机器翻译的原因,本文可能包含词汇、语法或文法方面的错误。

  • 请在 此处 中查找本文的英文版本以便参考。你和 Microsoft 社区的其他成员可以使用 Community Translation Framework (CTF) 来改进本文。只需将鼠标悬停在文章中的句子上,然后在 CTF 小组件中单击“IMPROVE TRANSLATION”即可。 单击此处了解有关 CTF 的详细信息。 使用 CTF 即表示你同意服务条款

扩展你的技能
了解培训
抢先获得新功能
加入 Office 预览体验计划

此信息是否有帮助?

谢谢您的反馈!

谢谢你的反馈! 可能需要转接到 Office 支持专员。

×