您的位置:首页 > 其它

【日期时间】批处理计算前N个月第一天的日期

2010-04-17 14:36 267 查看
【方案一】BAT + date.exe(GNU)

@echo off
rem 调用GNU for Win32的date.exe
set "gnuDate=C:/test/date.exe"
rem 指定月数
set MonthsAgo=1
for /f %%a in ('%gnuDate% -d "%MonthsAgo% months ago" "+%%Y-%%m-01"') do (
set "DstDate=%%a"
)
)
echo,%DstDate%
pause


【方案二】BAT + VBS

@echo off
rem 指定月数
set MonthsAgo=2
>"%temp%/DateCalculate.vbs" echo strLastDate=DateAdd("m", -%MonthsAgo%, Date)
>>"%temp%/DateCalculate.vbs" echo strFmtDate=Right(Year(strLastDate),4) ^& Right("0" ^& Month(strLastDate),2) ^& "01"
>>"%temp%/DateCalculate.vbs" echo WScript.Echo strFmtDate
for /f %%a in ('cscript /nologo "%temp%/DateCalculate.vbs"') do (
set "DstDate=%%a"
)
set DstDate=%DstDate:~0,4%-%DstDate:~4,2%-%DstDate:~6,2%
echo,%DstDate%
pause
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: