windowsbat脚本输出当前时间

工作中有需求要跑bat脚本,并要输出日志打印执行时间,特此记录下

获取当前时间字符串

1
set date_name=%date:~0,4%%date:~5,2%%date:~8,2%%time:~0,2%%time:~3,2%%time:~6,2%

分别说明

年 %date:~0,4%

月 %date:~5,2%

日 %date:~8,2%

时 %time:~0,2%

分 %time:~3,2%

秒 %time:~6,2%

小时特殊情况处理

如果时间小于10点, 上述得到的小时就是9而不是09, 如果使用小时的代码未对空格做特殊处理, 容易导致问题

处理

1
2
3
4
set hour=%time:~0,2%
if %hour% LSS 10 (
    set hour=0%time:~1,2%
)

说明

判断小时小于10就进行字符串拼接