소프트웨어 오토핫키에서 날짜 계산
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 | - | - |
13360 | 하드웨어| 샤오미 Mi 노트북 에어 13.3형 업글 문의 있습니다. | 신두환 | 380 | 11-20 |
13359 | 소프트웨어| 화면캡처 동영상으로.. [1] | 개골동자 | 380 | 09-30 |
13358 | 기 타| ventoy 핫키(F) 추가 [2] | 화랑이 | 380 | 01-22 |
13357 | 윈 도 우| 10pe에 빠졌습니다. 다이렉트x11 추가질문 [2] | 복태취업했 | 380 | 06-02 |
13356 | 윈 도 우| win7 pro(32bit) 복사 붙여넣기가 안되네요... [1] | koreabsh | 380 | 01-10 |
13355 | 소프트웨어| ms오피스를 유대용 장치에 설치하여 사용할 수 있나요? [2] | 솔모로 | 380 | 06-01 |
13354 | 윈 도 우| 도움주신 횐님들 덕분에 설치했습니다 [9] | k2000 | 380 | 12-24 |
13353 | 윈 도 우| 배치파일 뭐가 잘못되었나요?? [3] | LoLOLoL | 380 | 12-14 |
13352 | 하드웨어| 하드디스크 상태좀 봐주세요~& ~ [3] | 영심이 | 380 | 01-22 |
13351 | 하드웨어| 포맷 후, 기존 하드가 할당되지 않는 경우. [4] | xuser | 380 | 03-22 |
13350 | 기 타| 이곳 사용/설치기 보안 문제 [2] | asklee | 380 | 08-14 |
13349 | 소프트웨어| copy 명령으로 파일 복사 할 때... [4] | 추추추 | 379 | 05-22 |
13348 | 윈 도 우| pc랑 스마트폰에 알림주는 프로그램이 뭐가 있을까요?? [8] | 날아가 | 379 | 04-27 |
13347 | 윈 도 우| 최근 급격하게 생긴 노트북 강제종료/재부팅 질문드립니다 [3] | 중경삼 | 379 | 05-21 |
13346 | 소프트웨어| 윈포 엣지 접속시 이상 현상 [4] | 사단장 | 379 | 08-25 |
13345 | 윈 도 우| 윈도우 디펜더 관련삭제된 윈도우 설치했는데요 그래도 삭... [4] | 프리티맨 | 379 | 07-21 |
13344 | 소프트웨어| QuantumPE 질문 하나만 드릴게요. [2] | reg | 379 | 06-09 |
13343 | 기 타| 파이썬 질문입니다. [2] | 고북 | 379 | 05-29 |
13342 | 모 바 일| 휴대폰이 조금만 흔들려도 잠금화면에서 켜집니다. [2] | brucex | 379 | 09-12 |
13341 | 윈 도 우| 퀸텀 pe 사용 관련 기초 질문 [1] | nhk | 379 | 03-01 |
EnvAdd 를 사용해 보십시요
q::
Today := SubStr(A_Now, 1, 8)
EnvAdd, Today, -29 , Days
Oneday := SubStr(Today, 1, 8)
msgbox % Oneday