EnvSub


变量设置为它自身减去给定的值 (也能比较日期-时间的值)。同义于:var -= value

EnvSub, Var, Value [, TimeUnits]
Var -= Value [, TimeUnits]
Var--

参数

Var 要操作的变量名称。
Value 任何整数、浮点数或表达式。(当提供了 TimeUnits 时将不支持表达式)。
TimeUnits

如果提供,此参数指示命令从 Var 减去 Value 就像它们都是 YYYYMMDDHH24MISS 格式的日期-时间标记。TimeUnits 可以是 Seconds, Minutes, Hours 或 Days (或者仅用它们的第一个字母)。如果 Value 为空,将用当前的时间来代替它。同样,如果 Var 是一个空变量,将用当前的时间来代替它。

结果总会向下调整成整数。例如,如果两个时间标记之间实际的差是 1.999 天,它将报称 1 天。如果需要更高的精度,可指定 TimeUnits 为 Seconds 并把结果除以 60.0, 3600.0 或 86400.0 。

如果 VarValue 是一个无效的时间标记或者包含一个早于 1601 的年份,Var 将被设为空来表明有问题。

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

要精确地测定在两个事件之间消逝的时间,可用 A_TickCount 方法,因为它提供了毫秒级的精度。

要从一个时间标记加上或者减去某个 seconds, minutes, hours 或 days 的数值,也可用 EnvAdd (减法是通过添加一个负数来获得的)。

注意

此命令等于这种速记形式:Var -= Value

变量通过使用 Var++, Var--, ++Var 或 --Var 能被加上或减去 1 。

如果 VarValue 为空或者不以数字开头,为了计算的目的它将被视为 0 (除了在一个表达式内部使用时,除了使用 TimeUnits 参数时)。

如果 Var 或者 Value 包含小数点,最后的结果将是一个由 SetFormat 设置格式的浮点数。

相关命令

EnvAdd, EnvMult, EnvDiv, SetFormat, Expressions, If var is [not] type, SetEnv, FileGetTime

示例

EnvSub, MyCount, 2
MyCount -= 2 ;等同于上面的命令 var1 = 20050126
var2 = 20040126
EnvSub, var1, %var2%, days
MsgBox, %var1% ;答案会是 366 天,因为 2004 是个闰年。

翻译:天堂之门 menk33@163.com 2008年11月6日