我正在寻找一种设置任意日期的方法,每按一次键,它将在第二天(明天)打印一次。
global jDate = "June 1, 1986"
^+z::
;Output our date in LongDate format
FormatTime, TimeString, %jDate%, LongDate
SendInput, %TimeString%
;Increment the date by a single day
jDate += 1, Days
Return
不幸的是,它会将代码jDate保留为今天的当前日期/时间,而不是我在初始变量分配中指定的过去日期。不知道为什么。增量工作正常,它只是从今天开始而不是从1986年开始递增。
答案 0 :(得分:0)
FormatTime
期望输入的日期/时间在"YYYYMMDD..." format中。由于您分配给 jDate 的条件不符合该条件,因此它假定该条件无效并使用今天的日期。要使其按预期工作,只需修改您的 jDate 输入。
jDate := "19860601" ; 1986 -> YYYY, 06 -> MM, 01 ->DD
有两点需要注意:(1)在这种情况下不需要global
; (2)我建议您摆脱使用=
比较器(改为使用:=
赋值运算符)分配变量的习惯。它仅出于legacy的原因起作用,但产生的混乱比其应有的价值还多。在您使用它的情况下,需要删除引号。