在Windowsbatch file中以YYYYMMDD格式获取date

我需要在batch file中以YYYYMMDD格式获取date。

我正在使用:

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

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

请指教。

如果在阅读其他问题并查看评论部分中提到的链接后,仍然无法弄清楚,请继续阅读。

首先,你错误的地方是偏移。

它应该看起来更像这个…

 set mydate=!date:~10,4!!date:~6,2!/!date:~4,2! echo %mydate% 

如果date是2013/02/12月12日Tue 12/02/2013那么它将显示为2013/02/12 。 删除斜杠,代码会看起来更像set mydate=!date:~10,4!!date:~7,2!!date:~4,2! 这将输出20130212 ,这看起来不像date。

如果mydate等于类似的东西,这个提示就可以做到!date:~10,4!!date:~7,2! mydate !date:~10,4!!date:~7,2! 或者类似的,你可能会忘记一个波浪号(〜)。

你可以试试这个! 这应该在Windows机器上工作。

 for /F "usebackq tokens=1,2,3 delims=-" %%I IN (`echo %date%`) do echo "%%I" "%%J" "%%K"