玖叶教程网

前端编程开发入门

VBA日期函数 -> DateDiff计算时间差

本文内容

  1. 语法
  2. 设置
  3. 注解
  4. 示例

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

语法

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

DateDiff 函数语法包括这些命名参数:

Part

说明

interval

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

date1date2

必需;Variant (Date)。 要在计算中使用的两个日期。

firstdayofweek

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

firstweekofyear

可选。 一个指定一年的第一周的常量。 如果未指定,则会假定 1 月 1 日出现的那一周为第一周。

设置

interval参数具有以下设置:

Setting

说明

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

星期六

firstweekofyear 参数包含以下设置:

常量

说明

vbUseSystem

0

使用 NLS API 设置。

vbFirstJan1

1

从 1 月 1 日所在的周开始(默认)。

vbFirstFourDays

2

从至少包含新的一年中的四天的那一周开始。

vbFirstFullWeek

3

从每年的第一个完整的星期开始。

注解

使用 DateDiff 函数来确定两个日期之间存在的指定时间段的数目。 例如,您可以使用 DateDiff 计算两个日期之间的天数或今天与该年的最后一天之间的周数。

若要计算 date1date2 之间的天数,可以使用年份中的某一天 ("y") 或天 ("d")。 当时间间隔是工作日 ("w") 时,DateDiff 返回两个日期之间的周数。 如果 date1 为星期一,则 DateDiff 计算 date2 之前的星期一数。 它计算 date2 但不计算 date1

但是,如果时间间隔是周 ("ww"),则 DateDiff 函数返回这两个日期之间的日历周数。 它计算 date1date2 之间的星期日数。 如果它为星期日,则 DateDiff 计算 date2,但它不计算 date1,即使它是星期日也是如此。

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

如果 date1date2 是日期字符串,则指定的年份变为该日期的永久部分。 但是,如果 date1date2 用双引号 (" ") 引起且您省略了年份,则每当计算 date1date2 表达式时就会将当前年份插入您的代码。 这样能够使编写的代码在不同年份中均可使用。

在将 12 月 31 日与随后一年中的 1 月 1 日相比时,“年”("yyyy") 的 DateDiff 会返回 1,即使仅过去一天时间。

备注

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

示例

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

VB复制

Dim TheDate As Date    ' 声明变量
Dim Msg
TheDate = InputBox("输入日期")
Msg = "两日期相隔天数: " & DateDiff("d", Now, TheDate)
MsgBox Msg

发表评论:

控制面板
您好,欢迎到访网站!
  查看权限
网站分类
最新留言