Get Date in YYYYMMDD format in windows batch file

user2061002 picture user2061002 · Feb 11, 2013 · Viewed 459.6k times · Source

I need to get the date in YYYYMMDD format in batch file.

I am doing this using :

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

I need it to be consistent across system, even on changing the time settings.

Please advise.

Answer

BDM picture BDM · Feb 12, 2013

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 (~).