DateDiff 取时间差

文章目录
  1. 1. 功能
  2. 2. 语法
  3. 3. 参数
  4. 4. 返回值
  5. 5. 示例
  6. 6. 备注

功能

对两个时间做减法计算, 求出差值

语法

结果 = DateDiff(单位, 时间1, 时间2[, 一周第一天[, 一年第一周]])

参数

参数 数据类型 解释
单位 字符串 表示要计算的时间单位, 详见下面表格
时间1 日期型 用于计算的时间日期, 如果非日期型将尝试强制转换日期型
时间2 日期型 用于计算的时间日期, 如果非日期型将尝试强制转换日期型
一周第一天 数值型 可选, 表示一周的第一天是星期几, 默认为星期日, 详见下表
一年第一周 数值型 可选, 表示一年的第一周从哪天算起, 默认为1月1日是第一周, 详见下表
单位(字符串) 描述
yyyy
q 季度
m
y 一年的日数
d
w 一周的日数
ww
h 小时
n 分钟
s
一周第一天的常数 描述
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 由在新的一年中第一个完整的周开始。

返回值

长整数型, 返回时间2减去时间1的结果

示例

1
2
3
Dim 时差
时差 = DateDiff("d", "2012-10-31", "2012-11-5")
TracePrint 时差 '结果为5, 因为时间2-时间1相差5天
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
//高级例子
//说明: 利用本地时间做限时运行的判断, 仅供学习使用
//到期时间: 禁止运行的时间
//返回: True表示已到期, 禁止运行; False表示未到期, 正常运行
Function zmCheckDate(到期时间)
Dim 当前时间
当前时间 = Now()
zmCheckDate = DateDiff("s", 当前时间, 到期时间) < 0
End Function

//调用例子
到期时间 = "2021-4-14 22:00:10"
If zmCheckDate(到期时间) Then
MsgBox "脚本已到期, 无法继续运行"
ExitScript
End If
TracePrint "正常执行脚本中...."

备注