Language/OS Script
[bat] 날짜 계산 (오늘 기준 -n일)
yjkim_97
2021. 4. 2. 15:04
오늘을 기준으로 -n일의 날짜를 구함
(before값만큼의 날짜를 구함)
@echo off
for /f "tokens=1-3 delims=- " %%A in ('echo %DATE%') do (set YY=%%A&SET MM=%%B&SET DD=%%C)
set before=25
if not "%1"=="" set before=%1
if not "%2"=="" set YY=%2
if not "%3"=="" set MM=%3
if not "%4"=="" set DD=%4
set /a DD=1%DD%-(100+%before%)
set /a MM=1%MM%-100
:: DD-befoer > 0, YY년 MM월 DD-before일
if %DD% GTR 0 (
goto getBeforeday_end
) else (
set /a MM=%MM%-1
)
:: MM-1 > 0
if %MM% GTR 0 (
goto leap
) else (
set /a MM=12-%MM%
set /a YY=%YY%-1
goto leap
)
:leap
set /a TT=%YY%/4
set /a TT=%TT%*4
if %YY% neq %TT% goto mon%MM%
if %MM% neq 2 goto mon%MM%
set /a DD=29
goto getBeforeday_end
:mon1
:mon3
:mon5
:mon7
:mon8
:mon10
:mon12
set /a DD=31+%DD%
goto getBeforeday_end
:mon2
set /a DD=28+%DD%
goto getBeforeday_end
:mon4
:mon6
:mon9
:mon11
set /a DD=30+%DD%
goto getBeforeday_end
:getBeforeday_end
set /a DD=%DD% + 100
set DD=%DD:~1,2%
set /a MM=%MM% + 100
set MM=%MM:~1,2%
set beforeday=%YY%-%MM%-%DD%
@echo %beforeday%
- 구글검색해서 나온 스크립트 중 하나를 보안함.