Board logo

标题: [日期时间] 【已解决】BAT批处理命令time取时间值如何补零? [打印本页]

作者: csjzhy    时间: 2014-5-27 10:40     标题: 【已解决】BAT批处理命令time取时间值如何补零?

本帖最后由 csjzhy 于 2014-5-28 12:48 编辑

如当前系统时间是09:30:02,我用%time:~0,2%只能取得“9”。怎么能够取得“09”呢?请高手指点。
作者: hfg1977    时间: 2014-5-27 10:54

time 显示的时间是9:30:02,不会是是09:30:02
所以%time:~0,2%取不到“09”
可以在前面加“00”再取位。
作者: csjzhy    时间: 2014-5-27 11:13

回复 2# hfg1977


    我用mkdir命令,在123目录下新建文件夹(mkdir 123\%time:~0,2%),这个时间因为有空格,提示有问题,这个要怎么解决呢,能不有去掉那个因为没有显示0而导致的空格?
作者: apang    时间: 2014-5-27 11:30

set /a t=100+%time:~0,2%
echo,%t:~1%
作者: czjt1234    时间: 2014-5-27 12:11

本帖最后由 czjt1234 于 2014-5-27 12:16 编辑

echo 123\%time:~0,2%

123\ 9

9前面有一个空格


  1. set /a t=%time:~0,2%
  2. md 123\%t%
复制代码

作者: CrLf    时间: 2014-5-27 17:28

除了 set /a,用替换也可以
  1. set "t=%time: =0%"
  2. echo %t:~,2%
复制代码

作者: killer3k    时间: 2014-5-27 20:11

我是用的笨办法,截取了字符后判断是不是小于100000,如果是,前面加个“0”。
  1.   set Curtime=%time:~0,2%%time:~3,2%%time:~6,2%
  2.     if !Curtime! LSS 100000 (
  3.        set Curtime=0!Curtime: =!
  4.     )
复制代码

作者: CrLf    时间: 2014-5-28 02:17

回复 7# killer3k


    那直接 set Curtime=!Curtime: =0! 就好了
作者: killer3k    时间: 2014-5-28 10:09

回复 8# CrLf


    哈哈哈哈~~~我真是一根筯啊。直接把空格换成零就行了,干嘛还要多此一举先添加零再去掉空格。
    多谢多谢!




欢迎光临 批处理之家 (http://www.bathome.net/) Powered by Discuz! 7.2