EnvSub

주어진 값을 자신에서 빼어 변수에 설정합니다 (날짜-시간 값도 뺄 수 있습니다). 다음과 동등합니다: Var -= Value.

EnvSub, Var, Value , TimeUnits
Var -= Value , TimeUnits
Var--

매개변수

Var

연산을 할 변수의 이름.

Value

정수, 부동 소수점 수, 또는 표현식.

TimeUnits

존재하면, 이 매개변수는 명령어를 방향전환해서 ValueVar로부터 빼도록 만듭니다. 마치 둘 모두 YYYYMMDDHH24MISS 형식의 날짜-시간 도장인 것처럼 간주합니다. TimeUnits은 Seconds, Minutes, Hours, 또는 Days (또는 그냥 각 단어의 첫 문자)가 될 수 있습니다. Value가 비어 있으면, 현재 시간이 대신 사용됩니다. 비슷하게, Var가 빈 변수이면, 현재 시간이 대신 사용됩니다.

결과는 언제나 가장 가까운 정수로 내림됩니다. 예를 들어, 두 시간도장 사이의 실제 차이가 1.999 일이면, 1 일로 보고합니다. 더 높은 정밀도가 필요하면, Seconds를 TimeUnits에 지정하고 그 결과를 60.0, 3600.0, 또는 86400.0으로 나누십시오.

Var 또는 Value가 유효하지 않은 시간도장이거나 1601 년 이전의 년도를 담고 있으면, Var를 비워서 그 문제를 나타냅니다.

내장 변수 A_Now는 현재 지역 시간이 YYYYMMDDHH24MISS 형식으로 담깁니다.

두 이벤트 사이에 경과한 시간을 정밀하게 재고 싶다면, A_TickCount method를 사용하십시오. 밀리초의 정밀도를 제공합니다.

시간도장으로부터 초, 분, 시간 또는 날을 빼거나 더하려면, EnvAdd를 사용하십시오 (음수를 추가하면 뺄셈을 할 수 있습니다).

논평

이 명령어는 다음 단축 스타일과 동등합니다: Var -= Value.

변수는 Var++, Var--, ++Var, 또는 --Var를 사용해 1 만큼씩 늘거나 줄 수 있습니다.

VarValue가 비어 있거나 숫자로 시작하지 않으면, 계산의 목적을 위해 0으로 간주됩니다 (내부적으로 표현식에 사용될 때 그리고 TimeUnits 매개변수를 사용할 때는 예외입니다).

VarValue에 소수점이 들어 있다면, 결과는 부동 소수점 수가 되고 형식은 SetFormat에 의해 설정됩니다.

EnvAdd, EnvMult, EnvDiv, SetFormat, 표현식, If var is [not] type, SetEnv, FileGetTime

예제

Sets MyCount to itself minus 2.

EnvSub, MyCount, 2

위와 동등.

MyCount -= 2

Calculates the number of days between two timestamps and reports the result.

var1 := 20050126
var2 := 20040126
EnvSub, var1, %var2%, days
MsgBox, %var1%  ; 답은 366이 됩니다. 왜냐하면 2004년은 윤년이기 때문입니다.