Windows批处理文件Dateformat没有零

时间:2018-04-09 11:02:19

标签: windows batch-file cmd

如果月份和日期低于两位数值,我希望我的日期格式不会显示:

  

1.18.04.09

但同样如此:

  

1.18.4.9

我的日期变量:

@set version2= %11.%DATE:~8,2%.%DATE:~3,2%.%DATE:~0,2%%

如何更改命令?不应显示日期和月份之前的零。

3 个答案:

答案 0 :(得分:2)

我可以提供一种不依赖于区域设置日期格式的解决方案吗?

{{1}}

答案 1 :(得分:0)

您可以使用算术/A使SET命令返回数字不带零:

@set version2= %11
@set /a v=1%DATE:~8,2%-100
@set version2=%version2%.%v%
@set /a v=1%DATE:~3,2%-100
@set version2=%version2%.%v%
@set /a v=1%DATE:~0,2%-100
@set version2=%version2%.%v%

使用1xx-100是为了避免八进制数错误,如08和09。

答案 2 :(得分:0)

这也不依赖于区域日期格式设置。

FOR /F %a IN ('powershell -NoProfile -Command "'{0:M-d-yyyy}' -f (Get-Date).AddDays(1)"') DO SET "version2=%a"

如果在.bat文件脚本中使用,请记住加倍百分比字符。