在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
一般情况下用下面的代码即可,但批处理的默认0开头的数字以为是8进制,导致获取的时间不准确 for /f "tokens=1,2 delims=:" %%i in ('time/t') do ( set/a xiaos=%%i set/a fenz=%%j ) 使用上面的代码提取系统的小时和分钟,原本运行的结果如下: 因为接触批处理不久,不知是哪里出了问题?特请教。 bathome的管理员给出的答案@echo off for /f "tokens=1,2 delims=:" %%i in ('time /t') do ( set xiaos=%%i set fenz=%%j ) set xiaos=10%xiaos: =% set fenz=10%fenz% set /a xiaos=xiaos%%100 set /a fenz=fenz%%100 echo %xiaos% echo %fenz% pause 完美解决。 问题找到了。日期和时间的格式是03,09格式,如果进行数值计算或赋值时,因为是0开头,所以会被认为是八进制数值,当为08,09格式就需要进位,于是就出错了。而07以下不需要进位所以不会出错。 |
请发表评论