소프트웨어 오토핫키에서 날짜 계산
2022.05.07 14:04
오늘 날짜에서
월은 -1
일은 +1
을 해서 한달 전의 날짜를 얻으려고 하는데
EnvSub으로 어케어케 해보려고 해도 잘 안되네요
댓글 [8]
-
줄리아니 2022.05.07 17:46
-
我行 2022.05.07 18:59
와우 감사합니다. 덕분에 힌트를 얻어 완성했습니다. (윤달은 포기)
Today := SubStr(A_Now, 5, 2)
if (Today=03)
Dday=-27
if (Today=05) or (Today=07) or (Today=10) or (Today=12)
Dday=-29
Else
Dday=-30
Today := SubStr(A_Now, 1, 8)
EnvAdd, Today, %Dday% , Days
Oneday := SubStr(Today, 1, 8)
msgbox % Oneday
return
-
지후빠 2022.05.07 18:35
만들어 보긴했으나 논리에 문제가 있는듯...
만약 오늘이 3월 29/30/31일이나 5월 31이면 어떻게 계산해야하나요? 3월31일 -> 3월1일?2일?3일?, 5월31일 -> 5월1일?2일?
(먼저 하루를 더하고 한달을 뺀후 31일이 없는 달은 다음 달 1일로 계산하는 것은 가능하겠지만...)
- 정해진 일 수(30일)로 빼는 것은 수월할 것 같습니다.
cYMD := A_Now
cY := SubStr(cYMD,1,4)
cM := SubStr(cYMD,5,2)
cD := SubStr(cYMD,7,2)
pY := (cM=1) ? (cY-1) : cY
pM := (cM=1) ? 12 : (cM-1)
StringRight, pM, % 0 . pM, 2
pYMD = %pY%%pM%%cD%
pYMD += 1, D
FormatTime, pYMD, %pYMD%, yyyy-MM-dd
MsgBox %pYMD%
; 첫줄을 cYMD := 20220131 로 테스트하면 2022-01-01 로 출력합니다.
; 결과가 유효한 날짜가 아니면 오늘날짜를 출력합니다. 예) 20220331 -> 20220231+1 -> 날짜오류로 20220507 오늘 날짜 출력
-
我行 2022.05.07 19:00
감사합니다. 좋은 참고가 되었습니다!!
-
지후빠 2022.05.07 20:55
윤달... 음력을 계산하시려고 하시나요?
-
我行 2022.05.08 09:18
아뇨.. 4년마다 돌아오는 2월29일이여
-
지후빠 2022.05.08 11:24
이전달 일 수를 구해서 1일 빼고 오늘날짜에서 그 일수 만큼 빼주도록 하였습니다.
5월 31일 등에서 이전달 보다 긴날에서는 5월 2일 등으로 나오지만... 윤달도 문제 없을 것 같습니다.
theday := SubStr(A_Now, 1, 8)
subday := SubStr(theday, 1, 6) . "01"
subday += -1,days
subday := SubStr(subday, 7, 2) - 1
theday += -subday,days
FormatTime, theday, %theday%, yyyy-MM-dd
MsgBox % theday
-
我行 2022.05.08 11:49
감사합니다! (__)
번호 | 제목 | 글쓴이 | 조회 | 등록일 |
---|---|---|---|---|
[공지] | 질문과 답변 게시판 이용간 유의사항 | gooddew | - | - |
13616 | 소프트웨어| Exit Pro 에러에 대한 문의를 드려봅니다. [5] | heykevin | 388 | 10-04 |
13615 | 윈 도 우| pe 부팅 후 1회성 wim 부팅 가능하게 할 수 있을까요? [1] | ksire | 388 | 06-17 |
13614 | 소프트웨어| rufus windows user experience 창은 언제 뜨는거죠? [4] | ksire | 388 | 08-04 |
13613 | 윈 도 우| 원격 데스크톱 라이선스 문제 [2] | 러브늬 | 388 | 07-20 |
13612 | 윈 도 우| _MEI145402 폴더가 생겼는데 삭제도 안되고 뭘까요? [9] | 그림같은남 | 388 | 07-04 |
13611 | 하드웨어| 제품의 생산 배치(batch)가 다르다는것이 무슨 말인지요? [3] | joe | 388 | 06-20 |
13610 | 소프트웨어| ms 엣지 관련 [3] | EP-Se | 388 | 05-09 |
13609 | 윈 도 우| 큰나무님 도움좀 부탁드립니다. [6] | 맨션에살자 | 388 | 02-24 |
13608 | 윈 도 우| 부팅 질문입니다. [4] | 세피어 | 388 | 03-14 |
13607 | 윈 도 우| 멀티 부팅이라고 하나요? [6] | knada | 388 | 02-02 |
13606 | 하드웨어| 로지텍 블루투스 마우스가 끊기면 자동으로 2.4hz로 자동연... [5] | joe | 388 | 01-26 |
13605 | 윈 도 우| 새 케이스로 재조립하면 이전 백업파일 복원 여부 궁금합니다. [6] | gongja | 388 | 03-04 |
13604 | 소프트웨어| 엑셀 고수님들께 문의드립니다. [6] | 짱가7 | 388 | 03-08 |
13603 | 하드웨어| 메인보드 슬롯에 꼽는 블루투스가 USB형 보다 성능이 좋은... [7] | joe | 388 | 01-07 |
13602 | 기 타| 无忧启动论坛 사이트 진입 [1] | 못말리는짱 | 388 | 05-18 |
13601 | 소프트웨어| 방화벽 프로그램 추천좀 [2] | 슈머슈마 | 388 | 06-19 |
13600 | 윈 도 우| 클립보드 내용 지우는 배치파일 어떻게 만드나요? [4] | 좀머씨 | 388 | 12-13 |
13599 | 윈 도 우| 윈도우 7(8, 10)에서 실패한 업데이트 그만 하기 [2] | 현민지 | 388 | 11-16 |
13598 | 윈 도 우| 슬립본체 [3] | gkgk77 | 388 | 11-04 |
13597 | 윈 도 우| 운영체제에 질문합니다. [2] | cr | 388 | 04-24 |
EnvAdd 를 사용해 보십시요
q::
Today := SubStr(A_Now, 1, 8)
EnvAdd, Today, -29 , Days
Oneday := SubStr(Today, 1, 8)
msgbox % Oneday