中国DOS联盟论坛

中国DOS联盟

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

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

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
« [1] [2] »
作者:
标题: 请教一个关于时间的批处理 上一主题 | 下一主题
eckert
初级用户





积分 41
发帖 14
注册 2006-9-30
状态 离线
『楼 主』:  请教一个关于时间的批处理


─────────────────── 版务记录 ────────────────────
执行: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 ]

2008-2-21 21:40
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
suntb
高级用户





积分 581
发帖 277
注册 2006-12-23
状态 离线
『第 2 楼』:  

是指当前日期及时间吗?

2008-2-21 22:25
查看资料  发短消息 网志   编辑帖子  回复  引用回复
everest79
金牌会员

一叶枝头,万树皆春



积分 2564
发帖 1127
注册 2006-12-25
状态 离线
『第 3 楼』:  

echo %date% %time:~0,5%

2008-2-21 23:12
查看资料  发短消息 网志   编辑帖子  回复  引用回复
suntb
高级用户





积分 581
发帖 277
注册 2006-12-23
状态 离线
『第 4 楼』:  

自己也是一个新手,星期几不知如何获得,只能输出日期及时间
@echo off
for /f "tokens=1,2,3 delims=- " %%i in ('date /t') do echo %%i年%%j月%%k日 %time:~0,5%
pause>nul
输出结果示例为:

  Quote:
2008年02月21日 22:12

[ Last edited by suntb on 2008-2-21 at 11:24 PM ]

2008-2-21 23:22
查看资料  发短消息 网志   编辑帖子  回复  引用回复
suntb
高级用户





积分 581
发帖 277
注册 2006-12-23
状态 离线
『第 5 楼』:  

在我这%date%无法显示星期几,不知道大家那是什么样子

2008-2-21 23:25
查看资料  发短消息 网志   编辑帖子  回复  引用回复
everest79
金牌会员

一叶枝头,万树皆春



积分 2564
发帖 1127
注册 2006-12-25
状态 离线
『第 6 楼』:  

正常的,在区域与时间中不同的设置会导至这样的问题

2008-2-21 23:28
查看资料  发短消息 网志   编辑帖子  回复  引用回复
suntb
高级用户





积分 581
发帖 277
注册 2006-12-23
状态 离线
『第 7 楼』:  

我这%date%显示结果为:2008-02-21

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

好象也行

2008-2-21 23:30
查看资料  发短消息 网志   编辑帖子  回复  引用回复
suntb
高级用户





积分 581
发帖 277
注册 2006-12-23
状态 离线
『第 8 楼』:  



  Quote:
Originally posted by everest79 at 2008-2-21 23:28:
正常的,在区域与时间中不同的设置会导至这样的问题

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

[ Last edited by suntb on 2008-2-21 at 11:33 PM ]

2008-2-21 23:30
查看资料  发短消息 网志   编辑帖子  回复  引用回复
eckert
初级用户





积分 41
发帖 14
注册 2006-9-30
状态 离线
『第 9 楼』:  

3楼的代码好。  但是我这里怎么回这样显示结果啊

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

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

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

为什么回出现一行  c:\    这个路径?

2008-2-21 23:33
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
xmi
初级用户





积分 125
发帖 56
注册 2008-2-20
状态 离线
『第 10 楼』:  



  Quote:
Originally posted by suntb at 2008-2-21 11:22 PM:
自己也是一个新手,星期几不知如何获得,只能输出日期及时间

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

為什麼我的結果是:
2008/02/21年星期四月日 22:39

2008-2-21 23:47
查看资料  发短消息 网志   编辑帖子  回复  引用回复
xmi
初级用户





积分 125
发帖 56
注册 2008-2-20
状态 离线
『第 11 楼』:  



  Quote:
Originally posted by everest79 at 2008-2-21 11:12 PM:
echo %date% %time:~0,5%

~0, 5%是何解?

2008-2-21 23:57
查看资料  发短消息 网志   编辑帖子  回复  引用回复
suntb
高级用户





积分 581
发帖 277
注册 2006-12-23
状态 离线
『第 12 楼』:  

改了下批处理,再试试看
@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 ]

2008-2-21 23:58
查看资料  发短消息 网志   编辑帖子  回复  引用回复
suntb
高级用户





积分 581
发帖 277
注册 2006-12-23
状态 离线
『第 13 楼』:  



  Quote:
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 ]

2008-2-22 00:05
查看资料  发短消息 网志   编辑帖子  回复  引用回复
xmi
初级用户





积分 125
发帖 56
注册 2008-2-20
状态 离线
『第 14 楼』:  



  Quote:
Originally posted by suntb at 2008-2-21 11:58 PM:
改了下批处理,再试试看
[code]
@echo off
::设置时区信息
reg add "HKCU\Control Panel\International" /v "sShortDate" /d "yyyy-M-d dddd" /f>nul
re ...

這個成功, 但要按enter後才出現....以上看來是要set了時區才能....:P
謝了

2008-2-22 00:13
查看资料  发短消息 网志   编辑帖子  回复  引用回复
echo
初级用户





积分 148
发帖 69
注册 2006-11-23
状态 离线
『第 15 楼』:  

从%time%的第0个字符开始,取得长度为5个字符的值

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

2008-2-22 00:25
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
« [1] [2] »
请注意:您目前尚未注册或登录,请您注册登录以使用论坛的各项功能,例如发表和回复帖子等。


可打印版本 | 推荐给朋友 | 订阅主题 | 收藏主题



论坛跳转: