소프트웨어 오토핫키에서 날짜 계산
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 | - | - |
99700 | 윈 도 우| PE의 Program Files내의 프로그램 교체방법 [2] | 익명7861 | 360 | 04-16 |
99699 | 윈 도 우| 윈도우11 계정 사진 오류 입니다. [2] | 마린블루 | 306 | 04-15 |
99698 | 윈 도 우| 엣지의 브라우저를 닫을 때마다 지울 항목 선택을 레지스트... [10] | 투윤 | 169 | 04-15 |
99697 | 서버 / IT| 구글 플레이 스토어에서 특정 앱을 apk 로 저장할 수 있나요? [4] | brucex | 249 | 04-15 |
99696 | 윈 도 우| 공유기 인터넷 끊김 질문 [2] | 솔모로 | 642 | 04-15 |
99695 | 기 타| 혹시 이미지 수정좀 할수있을까요 [4] | QOR | 615 | 04-14 |
99694 | 윈 도 우| Ventoy로 파티션을 나누었는데 디스크 할당이 안되요. [3] | 익명7861 | 582 | 04-14 |
99693 | 하드웨어| 삼성 아티북인데 너무 느리네요 [14] | 『ⓖⓤⓝ』 | 679 | 04-14 |
99692 | 하드웨어| 컴퓨터 전원 문제 [6] | 아프리카태 | 594 | 04-14 |
99691 | 소프트웨어| 윈도우 업데이트 되면서 디펜더에서 감지.. [1] | 이슬 | 369 | 04-14 |
99690 | 소프트웨어| 더 큰 디스크에 복원시 용량을 확장해주는 백업프로그램 있... [2] | 좋게멋지게 | 284 | 04-14 |
99689 | 소프트웨어| Acronis True Image 는 업데이트를 안하네요? [1] | 좋게멋지게 | 518 | 04-14 |
99688 | 윈 도 우| 윈 xp 블랙 에디션 [1] | 개골구리 | 540 | 04-14 |
99687 | 소프트웨어| 파티션 문의 [2] | 에로스타 | 233 | 04-14 |
99686 | 하드웨어| HDMI에서 DP로 케이블 교체했는 데 화면이 끊김이 [3] | toto65 | 812 | 04-13 |
99685 | 기 타| mega 다운시 전송 할당량 초과? [5] | 짚신 | 411 | 04-13 |
99684 | 윈 도 우| Ventoy를 이용하여 install.wim 설치 할수 있나요. [2] | 익명7861 | 481 | 04-13 |
99683 | 윈 도 우| WIN11 보내기 문의 [1] | 뷰티블마인 | 304 | 04-13 |
99682 | 소프트웨어| Directory Opus 창색 바꾸기 [3] | 나래바다 | 237 | 04-13 |
99681 | 소프트웨어| Directory Opus 새창 안열리게.... [8] | 미리내i | 294 | 04-12 |
EnvAdd 를 사용해 보십시요
q::
Today := SubStr(A_Now, 1, 8)
EnvAdd, Today, -29 , Days
Oneday := SubStr(Today, 1, 8)
msgbox % Oneday