基础
Windows下提供了打印时间和日期的应用:
我们要获取当前的日期和时间就需要用到这些。
这两个命令可以用来显示也可以用来设置,对于我们目前的需求来说,是为了获取,所以需要增加/T,当然这需要“命令扩展被启用”,默认好像就是启用的。关于如何开启或关闭,如下所示:
字符串截取
让我们看下date和time的显示信息:
当时如何将两个命令的结果组合起来变成我们需要的当前日期时间呢?
这里就需要使用到字符串的截取,下面是一个例子:
字符串截取是字符串处理的一部分,字符串处理使用的是%xx:yy%。
xx:yy两个部分,前面是字符串或者能够产生字符串的命令(比如date/time等),后面是对字符串的处理,上面的脚本中使用了"~0",表示的是所有的字符串,后面还可以接",x",表示从0开始的x个字符串:
从这里就可以看出来,我们可以通过这种方式来分别获取日期,月份,年份等值。
同理可以通过这种方式获取时间。
最终结果
以下是一个例子:
@echo off
set d=%date:~0,2%
set mo=%date:~3,2%
set y=%date:~6,4%
set h=%time:~0,2%
set mi=%time:~3,2%
echo %y%_%mo%_%d%_%h%_%mi%
@echo on
得到的结果如下:
E:\Codes\bat>TestDate.bat
2019_10_27_20_39
这样就得到了我们需要的日期和时间,当然具体的格式还可以根据需要进一步构造。