楼 主
请教使用%time:~0,2%如何补零的问题
发表于 2008-03-31 11:20 · 中国 北京 光环新网
初级用户
★
积分 32
发帖 11
注册 2008-03-08 22:19
18年会员
UID 112424
性别 男
状态 离线
比如现在系统时间是上午"9:54",我想使用%time:~0,2%来获取时钟值,
我实际是想获取"09",可结果获取的是"9",而假如系统时间是"10:05",
则获取的值为"10",没有问题。
如何让其在"9"前自动补一个零呢?
因为我想让其在任何情况下都占用两个字符。
第 2 楼
发表于 2008-03-31 11:43 · 中国 江苏 苏州 移动
银牌会员
★★★
积分 1,608
发帖 780
注册 2007-10-07 10:19
18年会员
UID 99089
性别 男
状态 离线
@echo off
for /f "delims=: tokens=1" %%i in ("%TIME%") DO (
if %%i leq 9 (echo 10以下&&echo 0%%i) else (echo 10以上)
)
pause
第 3 楼
我来凑合下:
发表于 2008-03-31 12:01 · 中国 湖南 株洲 电信
金牌会员
★★★★
永远的学习者
积分 3,105
发帖 1,276
注册 2008-03-08 13:00
18年会员
UID 112398
性别 男
状态 离线
@echo off
if %time:~,2% leq 9 (echo 0%time:~1,1%) else (echo %time:~,2%)
另处指出楼上的代码有误,系统在显示小时位时一直是用两位字符的,只不过在小时位只一位数字时前面补了个空格,所以当系统小时位为个位时,用楼上的代码只会显示为0 *。
[
Last edited by zw19750516 on 2008-3-31 at 12:11 PM ]
批处理之家新域名:www.bathome.net
第 4 楼
发表于 2008-03-31 12:57 · 中国 北京 光环新网
初级用户
★
积分 32
发帖 11
注册 2008-03-08 22:19
18年会员
UID 112424
性别 男
状态 离线
Originally posted by zw19750516 at 2008-3-31 12:01 PM:
@echo off
if %time:~,2% leq 9 (echo 0%time:~1,1%) else (echo %time:~,2%)
另处指出楼上的代码有误,系统在显示小时位时一直是用两位字符的,只不过在小 ...
非常感谢zw19750516,我昨天今天问了两个问题,你都仔细的解答了。
huahua0919的解答也提醒了我另一种处理思路,一并感谢
第 5 楼
发表于 2008-03-31 14:24 · 中国 广西 钦州 电信
金牌会员
★★★★
积分 3,687
发帖 1,467
注册 2005-08-08 12:00
20年会员
UID 44210
状态 离线
简单点的:
set time_=%time:~0,5%&call set time_=%%time_: =0%%
echo %time_%
第 6 楼
发表于 2008-03-31 14:48 · 中国 江苏 常州 溧阳市 电信
银牌会员
★★★
积分 2,404
发帖 946
注册 2005-09-08 13:44
20年会员
UID 42345
状态 离线
@echo off
for /f "delims=:" %%i in ('time/t') DO echo %%i
pause>nul
简单!简单!再简单!
第 7 楼
发表于 2008-03-31 18:42 · 中国 江苏 苏州 移动
银牌会员
★★★
积分 1,608
发帖 780
注册 2007-10-07 10:19
18年会员
UID 99089
性别 男
状态 离线
第 8 楼
发表于 2008-03-31 18:51 · 中国 湖南 株洲 电信
金牌会员
★★★★
永远的学习者
积分 3,105
发帖 1,276
注册 2008-03-08 13:00
18年会员
UID 112398
性别 男
状态 离线
强就一个字!!!
批处理之家新域名:www.bathome.net
论坛跳转: