中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

中国DOS联盟论坛
现在时间是 2026-06-13 19:03
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 请教一个关于时间的批处理
楼 主 请教一个关于时间的批处理 发表于 2008-02-21 21:40 ·  中国 湖北 宜昌 电信
初级用户
积分 41
发帖 14
注册 2006-09-30 02:27
UID 64100
状态 离线

─────────────────── 版务记录 ────────────────────
执行:lxmxn
标题:学习中。求教一个问题
说明:因标题表述过于模糊,不便于论坛的搜索和管理,请在三日内修改标题,否则扣除2点积分
参考:http://www.cn-dos.net/forum/viewthread.php?tid=7326&fpage=1
   http://www.cn-dos.net/forum/viewthread.php?tid=1415
─────────────────── 版务记录 ────────────────────


怎样在批处理中显示时间啊?

格式如下。

2008年2月21日 星期四 20:30

[ Last edited by eckert on 2008-2-21 at 09:46 PM ]
2 发表于 2008-02-21 22:25 ·  中国 福建 福州 联通
高级用户
★★
积分 581
发帖 277
注册 2006-12-23 05:10
UID 74328
性别 男
状态 离线
是指当前日期及时间吗?
3 发表于 2008-02-21 23:12 ·  中国 广东 广州 天河区 电信
金牌会员
★★★★
一叶枝头,万树皆春
积分 2,564
发帖 1,127
注册 2006-12-25 22:57
UID 74552
性别 男
状态 离线
echo %date% %time:~0,5%
4 发表于 2008-02-21 23:22 ·  中国 福建 福州 联通
高级用户
★★
积分 581
发帖 277
注册 2006-12-23 05:10
UID 74328
性别 男
状态 离线
自己也是一个新手,星期几不知如何获得,只能输出日期及时间


@echo off
for /f "tokens=1,2,3 delims=- " %%i in ('date /t') do echo %%i年%%j月%%k日 %time:~0,5%
pause>nul

输出结果示例为:

2008年02月21日 22:12


[ Last edited by suntb on 2008-2-21 at 11:24 PM ]
5 发表于 2008-02-21 23:25 ·  中国 福建 福州 联通
高级用户
★★
积分 581
发帖 277
注册 2006-12-23 05:10
UID 74328
性别 男
状态 离线
在我这%date%无法显示星期几,不知道大家那是什么样子
6 发表于 2008-02-21 23:28 ·  中国 广东 广州 天河区 电信
金牌会员
★★★★
一叶枝头,万树皆春
积分 2,564
发帖 1,127
注册 2006-12-25 22:57
UID 74552
性别 男
状态 离线
正常的,在区域与时间中不同的设置会导至这样的问题
7 发表于 2008-02-21 23:30 ·  中国 福建 福州 联通
高级用户
★★
积分 581
发帖 277
注册 2006-12-23 05:10
UID 74328
性别 男
状态 离线
我这%date%显示结果为:2008-02-21

echo %date:~0,4%年%date:~5,2%月%date:~8,2%日 %time:~0,5%

好象也行
8 发表于 2008-02-21 23:30 ·  中国 福建 福州 联通
高级用户
★★
积分 581
发帖 277
注册 2006-12-23 05:10
UID 74328
性别 男
状态 离线
Originally posted by everest79 at 2008-2-21 23:28:
正常的,在区域与时间中不同的设置会导至这样的问题


如何设置区域与时间才能在%date%中显示星期几?

[ Last edited by suntb on 2008-2-21 at 11:33 PM ]
9 发表于 2008-02-21 23:33 ·  中国 湖北 宜昌 电信
初级用户
积分 41
发帖 14
注册 2006-09-30 02:27
UID 64100
状态 离线
3楼的代码好。 但是我这里怎么回这样显示结果啊

代码
@echo %date% %time:~0,5%
pause

显示
2008-02-21 星期四 22:22

C:\Documents and Settings\Administrator\桌面>pause
请按任意键继续. . .

为什么回出现一行 c:\ 这个路径?
10 发表于 2008-02-21 23:47 ·  中国 香港 环球全域电讯
初级用户
★★
积分 125
发帖 56
注册 2008-02-20 14:01
UID 111054
性别 男
状态 离线
Originally posted by suntb at 2008-2-21 11:22 PM:
自己也是一个新手,星期几不知如何获得,只能输出日期及时间


@echo off
for /f "tokens=1,2,3 delims=- " %%i in ('date /t') do echo %%i年%%j月%%k日 %t ...


為什麼我的結果是:
2008/02/21年星期四月日 22:39
11 发表于 2008-02-21 23:57 ·  中国 香港 环球全域电讯
初级用户
★★
积分 125
发帖 56
注册 2008-02-20 14:01
UID 111054
性别 男
状态 离线
Originally posted by everest79 at 2008-2-21 11:12 PM:
echo %date% %time:~0,5%


~0, 5%是何解?
12 发表于 2008-02-21 23:58 ·  中国 福建 福州 联通
高级用户
★★
积分 581
发帖 277
注册 2006-12-23 05:10
UID 74328
性别 男
状态 离线
改了下批处理,再试试看

@echo off
::设置时区信息
reg add "HKCU\Control Panel\International" /v "sShortDate" /d "yyyy-M-d dddd" /f>nul
reg add "HKU\.DEFAULT\Control Panel\International" /v "sShortDate" /d "yyyy-M-d dddd" /f>nul

for /f "tokens=1,2,3,4 delims=/- " %%i in ('date /t') do echo %%i年%%j月%%k日 %%l %time:~0,5%
pause>nul


[ Last edited by suntb on 2008-2-22 at 11:31 PM ]
13 发表于 2008-02-22 00:05 ·  中国 福建 福州 联通
高级用户
★★
积分 581
发帖 277
注册 2006-12-23 05:10
UID 74328
性别 男
状态 离线
Originally posted by xmi at 2008-2-21 23:57:


~0, 5%是何解?


在%time%中跳过0个字符开始,取得长度为5个字符的值

这是为了屏蔽有些机子%time%中含有秒的信息

[ Last edited by suntb on 2008-2-24 at 11:02 AM ]
14 发表于 2008-02-22 00:13 ·  中国 香港 环球全域电讯
初级用户
★★
积分 125
发帖 56
注册 2008-02-20 14:01
UID 111054
性别 男
状态 离线
Originally posted by suntb at 2008-2-21 11:58 PM:
改了下批处理,再试试看

@echo off
::设置时区信息
reg add "HKCU\Control Panel\International" /v "sShortDate" /d "yyyy-M-d dddd" /f>nul
re ...


這個成功, 但要按enter後才出現....以上看來是要set了時區才能....:P
謝了
15 发表于 2008-02-22 00:25 ·  中国 福建 泉州 电信
初级用户
★★
积分 148
发帖 69
注册 2006-11-23 23:04
UID 71504
性别 男
状态 离线
从%time%的第0个字符开始,取得长度为5个字符的值

这是为了屏蔽有些机子%time%中含有秒的信息 [/quote]
原来如此,到现在才明白,谢谢这位仁兄……
论坛跳转: