document.write(''); document.write(''); document.write('

当前位置 博文首页 > 批处理bat计算前N个月第一天的日期

    批处理bat计算前N个月第一天的日期

    作者:admin 时间:2021-02-05 15:05

    【方案一】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

    js
下一篇:没有了