首页 > Web开发 > 详细

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

时间:2016-02-08 00:49:55      阅读:177      评论:0      收藏:0      [点我收藏+]

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

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

原文:http://www.jb51.net/article/52856.htm

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!