在batch脚本中我们可以通过下面的语句来对日期进行操作:
SET YEAR=%date:~10,4% SET MONTH=%date:~4,2% SET DAY=%date:~7,2% SET HOUR=%time:~0,2% IF "%HOUR:~0,1%"==" " SET HOUR=0%HOUR:~1,1% SET MINUTE=%time:~3,2% SET SECOND=%time:~6,2%
但是,这么写是有前提条件的,那就是在prompt打印%date%的结果应该是这样的:
%date:~10,4%的意思是,从%date%的第10位开始往下取4位,即YEAR=2015;同理,
%time:~0,2%的意思是,从%time%的0位开始往下取2位,即HOUR=11。
需要注意的是,在你当前的系统设置下打印出的%date%可能不是上图中显示的格式(比如,可能没有前面的周几的信息)。要用上面的代码,就需要对系统设置进行更改。
任务管理器-修改日期、时间或数字格式-短日期格式:dddd M/d/yyyy (其中dddd表示day of week)
或者不改系统设置的话,根据%date%回显对变量位置进行相应的调整,比如回显是‘2015/3/11’,YEAR就是%date:~0,4%。