DateDiff

比较两个日期-时间并返回它们的差异值.

Result := DateDiff(DateTime1, DateTime2, TimeUnits)

参数

DateTime1
DateTime2

类型: 字符串

YYYYMMDDHH24MISS 格式的日期-时间戳.

如果 DateTime1 早于 DateTime2, 则结果为负数.

If either parameter is an empty string, the current local date and time (A_Now) is used.

TimeUnits

类型: 字符串

测量差异所用的单位. TimeUnits 可以是下列字符串之一(也可以是其第一个字母): Seconds(秒), Minutes(分), Hours(小时) 或 Days(天).

返回值

类型: 整数

此函数返回两个时间戳之间的差值, 单位由 TimeUnits 指定. 结果总是 向下 取整. 例如, 如果两个时间戳之间的实际差为 1.999 天, 那么运算的结果将为 1 天. 如果需要更高的精度, 请在 TimeUnits 指定 Seconds 并把结果除以 60.0, 3600.0 或 86400.0(以得到更精确的分钟数, 小时数或天数).

备注

内置变量 A_Now 包含了 YYYYMMDDHH24MISS 格式的当前本地时间.

要精确地测出两个事件之间所经过的时间, 请使用 A_TickCount 方法, 因为它提供了毫秒级的精度.

要从时间戳中添加或减去特定的 Seconds(秒), Minutes(分), Hours(小时) 或 Days(天), 可以使用 DateAdd(减法是通过加上负数来实现的).

如果 DateTime 包含一个无效的时间戳或年份早于 1601, 则抛出 ValueError.

DateAdd, FileGetTime, FormatTime

示例

计算两个时间戳之间的天数, 并报告结果.

var1 := "20050126"
var2 := "20040126"
MsgBox DateDiff(var1, var2, "days")  ; 结果将是 366, 因为 2004 是个闰年.
unixetc