在Windows批处理文件中以YYYYMMDD格式获取日期

时间:2013-02-11 10:43:37

标签: windows batch-file

我需要在批处理文件中以YYYYMMDD格式获取日期。

我这样做是使用:

set mydate=%date:~6,4%%date:~3,2%%date:~0,2%
echo %mydate%

我需要它在整个系统中保持一致,即使在更改时间设置方面也是如此。

请告知。

2 个答案:

答案 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"