95

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

我正在使用:

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

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

请指教。

4

2 回答 2

52

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

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

它应该看起来更像这样......

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%
echo %mydate%

这将输出20130212

以及将来做的提示,如果mydate等于%date:~10,4%%date:~7,2%或类似的东西,你可能忘记了波浪号(〜)。

于 2013-02-12T06:07:53.740 回答
2

你可以试试这个!这应该适用于 Windows 机器。

for /F "usebackq tokens=1,2,3 delims=-" %%I IN (`echo %date%`) do echo "%%I" "%%J" "%%K"
于 2013-02-11T20:19:28.813 回答