소프트웨어 오토핫키에서 날짜 계산
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 | - | - |
93812 | 모 바 일| 카톡으로 사지도 않은 극장티켓이 왔네요 [5] | brucex | 1228 | 06-06 |
93811 | 윈 도 우| 글자 복사가 가능한 PC 실행 안드로이드 프로그램이 있을까요? [1] | 브래드피클 | 532 | 06-06 |
93810 | 소프트웨어| 윈도우 탐색기 탭용 [클로버] 질문입니다 [4] | ^청보리^ | 457 | 06-06 |
93809 | 윈 도 우| 윈도우11 사용 하시는 분 이런 증상 경험 있으신가요? [5] | 그린보이 | 872 | 06-06 |
93808 | 윈 도 우| 똥컴중에. [5] | 뷰리풀투데 | 713 | 06-06 |
93807 | 모 바 일| 녹음한 전화음성 m4a 또는 3gp 듣기가 안됩니다. [4] | 이상무 | 597 | 06-06 |
93806 | 소프트웨어| Free CommanderXE 사용하다가 궁금한점이 있습니다. | 밸록 | 139 | 06-06 |
93805 | 윈 도 우| win10 업데이트 안되게하는 방법 [4] | 씨케이 | 717 | 06-06 |
93804 | 소프트웨어| 변경된 Q-Dir 화면을 되돌리는 법 [2] | billy | 621 | 06-05 |
93803 | 기 타| excel 시트로 방송 편성표 가져올 때의 질문 입니다 [6] | 선우아버 | 395 | 06-05 |
93802 | 소프트웨어| 저장장치 추가 후 윈도우 신규설치, 및 기존 디스크 자료 ... [3] | 민트러브 | 441 | 06-05 |
93801 | 윈 도 우| 엣지 삭제 배치파일을 실행하면 관리자 권한실행으로 하라고 [3] | 사선지 | 433 | 06-05 |
93800 | 기 타| 오스람 LED 램프 18W 형광등 대체용 관련해 질문입니다. [4] | asklee | 742 | 06-05 |
93799 | 하드웨어| 컴퓨터 사양 추천 [6] | 한스 | 750 | 06-05 |
93798 | 기 타| 파일 확장명 암호화 비트코인 유도 [4] | 김영감™ | 490 | 06-05 |
93797 | 기 타| idm [4] | 홍낄똥 | 619 | 06-05 |
93796 | 소프트웨어| 파티션 문제 [3] | rnmc | 543 | 06-05 |
93795 | 기 타| TV 수리?? [16] | 한스 | 1134 | 06-04 |
93794 | 하드웨어| FusionHDTV5 RT Silver TV카드 [6] | 어차피 | 615 | 06-04 |
93793 | 하드웨어| 12세대 UEFI 미지원 그래픽카드 장착 [6] | 고무장갑 | 724 | 06-04 |
EnvAdd 를 사용해 보십시요
q::
Today := SubStr(A_Now, 1, 8)
EnvAdd, Today, -29 , Days
Oneday := SubStr(Today, 1, 8)
msgbox % Oneday