IT 관련 팁/오토핫키 Autohotkey

오토핫키 - 날짜 더하기, 날짜 빼기, 날짜 계산하기

RayShines 2022. 4. 6. 11:13
반응형

오토핫키를 이용하면 날짜를 쉽게 계산할 수 있다. 예를 들어 오늘 날짜에 35일을 더한 날짜를 쉽게 구할 수 있다. 날짜가 순차적으로 들어있는 문서를 편집할 때 이것을 이용하면 특정 날짜를 쉽게 탐색할 수도 있다. 또한 스크립트를 잘 짜서 문서에 날짜를 순차적으로 넣을 수도 있다.

 

1. FormatTime으로 오늘의 날짜 설정

날짜를 계산할 때는 기준이 되는 날짜를 미리 설정해야 한다. 이번 포스팅에서는 오늘 날짜를 기준일로 설정해보겠다.

 

**** 시작 - 이 행은 스크립트에 포함시키지 않는다 ****

 

^#!d:: ; ctrl + win + alt +d 를 누르면
FormatTime, CurrentDateTime,, yyyyMMdd ; 20220406 형식으로 오늘 날짜 설정
Today = %CurrentDateTime% ; Today라는 변수에 오늘 날짜 저장
return

 

**** 끝 - 이 행은 스크립트에 포함시키지 않는다 ****

 

위와 같이 하면 오늘 날짜를 기준일로 정할 수 있다. 날짜를 20220406 외의 형식으로 설정하면 계산이 제대로 되지 않을 수 있으니 일단 이렇게 설정해둔다. 나중에 출력할 때 형식을 바꿀 수 있으니 걱정할 필요 없다. 

 

 

2. EnvAdd 명령어를 사용하여 날짜 계산

날짜 계산에는 EnvAdd 라는 명령어를 사용한다. 

 

 

**** 시작 - 이 행은 스크립트에 포함시키지 않는다 ****

 

^#!d:: ; ctrl + win + alt +d 를 누르면
FormatTime, CurrentDateTime,, yyyyMMdd ; 20220406 형식으로 오늘 날짜 설정
Today = %CurrentDateTime% ; Today라는 변수에 오늘 날짜 저장
EnvAdd, ToDay, +5, Days ; 오늘 날짜에 5를 더한다
return

 

 

**** 끝 - 이 행은 스크립트에 포함시키지 않는다 ****

 

 

위의 스크립트는 20220406이라고 설정한 오늘 날짜에 5를 더하는 스크립트이다.

 

이제 출력하는 형식을 지정해야 하고 날짜를 출력해야 한다.

 

 

 

**** 시작 - 이 행은 스크립트에 포함시키지 않는다 ****

 

^#!d:: ; ctrl + win + alt +d 를 누르면
FormatTime, CurrentDateTime,, yyyyMMdd ; 20220406 형식으로 오늘 날짜 설정
Today = %CurrentDateTime% ; Today라는 변수에 오늘 날짜 저장
EnvAdd, ToDay, +5, Days ; 오늘 날짜에 5를 더한다
FormatTime, ToDay, %ToDay%, yyyy년 MM월 dd일 dddd ; 날짜 형식을 2022년 04월 06일 수요일로 변경
Sendinput , %ToDay% ; 계산된 날짜를 출력
return

 

**** 끝 - 이 행은 스크립트에 포함시키지 않는다 ****

 

위의 스크립트는 20220406이라는 형식을 "2022년 04월 06일 수요일"이라는 형식으로 변경하고, 그 날짜를 출력하는 명령이 추가된 것이다.

 

결과를 보자.

 

날짜 계산 오토핫키

위와 같이 잘 출력이 된다.

 

날짜 더하기를 해봤으니 빼기도 해볼 수 있다. 

 

 

**** 시작 - 이 행은 스크립트에 포함시키지 않는다 ****

 

^#!d:: ; ctrl + win + alt +d 를 누르면
FormatTime, CurrentDateTime,, yyyyMMdd ; 20220406 형식으로 오늘 날짜 설정
Today = %CurrentDateTime% ; Today라는 변수에 오늘 날짜 저장
EnvAdd, ToDay, +1, Days ; 오늘 날짜에 1를 더한다
FormatTime, ToDay, %ToDay%, yyyy년 MM월 dd일 dddd ; 2022년 04월 6일 형식 설정
Sendinput , %ToDay% ; 계산된 날짜를 출력
send {enter 2} ; 엔터를 두 번 친다

FormatTime, CurrentDateTime,, yyyyMMdd ; 20220406 형식으로 오늘 날짜 설정
Today = %CurrentDateTime% ; Today라는 변수에 오늘 날짜 저장
EnvAdd, ToDay, -97, Days ; 오늘 날짜에서 97을 뺀다.

FormatTime, ToDay, %ToDay%, yyyy년 MM월 dd일 dddd ; 2022년 04월 6일 형식 설정
Sendinput , %ToDay% ; 계산된 날짜를 출력
send {enter 2} ; 엔터를 두 번 친다

FormatTime, CurrentDateTime,, yyyyMMdd ; 20220406 형식으로 오늘 날짜 설정
Today = %CurrentDateTime% ; Today라는 변수에 오늘 날짜 저장
EnvAdd, ToDay, +304, Days ; 오늘 날짜에 304를 더한다
FormatTime, ToDay, %ToDay%, yyyy년 MM월 dd일 dddd ; 2022년 04월 6일 형식 설정
Sendinput , %ToDay% ; 계산된 날짜를 출력
send {enter 2} ; 엔터를 두 번 친다

return

 

**** 끝 - 이 행은 스크립트에 포함시키지 않는다 ****

 

이 스크립트를 잘 때에는 날짜 계산을 하기 전마다 오늘 날짜를 다시 설정해줘야 한다. 그렇게 하지 않는다면 위의 스크립트에서는 1이 더해진 날짜에서 97을 빼고, 다시 거기서 304를 더하게 되므로 오류가 생긴다.

 

실제로 바로 위의 스크립트를 실행시킨 결과는 아래와 같다.

 

오토핫키 날짜 계산

 

 

필요한 분들께 도움이 됐으면 한다. 

 

반응형