我需要在批处理文件中以YYYYMMDD格式获取日期。
我这样做是使用:
set mydate=%date:~6,4%%date:~3,2%%date:~0,2%
echo %mydate%
我需要它在整个系统中保持一致,即使在更改时间设置方面也是如此。
请告知。
答案 0 :(得分:25)
如果在阅读其他问题并查看评论部分中提到的链接后,您仍然无法弄明白,请继续阅读。
首先,你出错的地方是偏移量。
看起来应该更像......
set mydate=!date:~10,4!!date:~6,2!/!date:~4,2!
echo %mydate%
如果日期为Tue 12/02/2013
,则会将其显示为2013/02/12
。要删除斜杠,代码看起来更像set mydate=!date:~10,4!!date:~7,2!!date:~4,2!
,它会输出20130212
,看起来不像日期。
如果mydate
等于!date:~10,4!!date:~7,2!
等等,你可能会忘记一个代字号(〜)。
答案 1 :(得分:2)
你可以试试这个!这应该适用于Windows机器。
for /F "usebackq tokens=1,2,3 delims=-" %%I IN (`echo %date%`) do echo "%%I" "%%J" "%%K"