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

我需要得到日期在批处理文件 YYYYMMDD 格式。

我这样做的原因是:

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

我需要它是一致的整个系统,即使在改变时间设置。

请指示。

527700 次浏览

You can try this ! This should work on windows machines.

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

If, after reading the other questions and viewing the links mentioned in the comment sections, you still can't figure it out, read on.

First of all, where you're going wrong is the offset.

It should look more like this...

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

If the date was Tue 12/02/2013 then it would display it as 2013/02/12.

To remove the slashes, the code would look more like

set mydate=%date:~10,4%%date:~7,2%%date:~4,2%
echo %mydate%

which would output 20130212

And a hint for doing it in the future, if mydate equals something like %date:~10,4%%date:~7,2% or the like, you probably forgot a tilde (~).