![]() |
中国DOS联盟-- 联合DOS 推动DOS 发展DOS --联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum |
| 游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟 |
|
中国DOS联盟论坛 现在时间是 2026-09-23 14:46 |
共 47,812 主题排行 / 349,917 发帖 / 今日 0 篇 / 48,273 会员排行 |
| DOS批处理 & 脚本技术(批处理室) » (已结)CMD下如何把AM/PM的时间方式更改为24小时制并输入到系 |
| 可打印版本 2,606 / 7 |
| 第1楼 voiL | 发表于 2005-11-08 22:13 |
| 中级用户 发帖 189 积分 384 | |
|
(已结)CMD下如何把AM/PM的时间方式更改为24小时制并输入到系 环境:WinXP CMD(CMD Ver 5.1.2600)
我需要向网络内一台叫A1(192.168.0.112)的计算机校对时间,然后把本地时间改成与A1的一样. 然而我用net time之后,输出的文本是如下格式的.
我把09和47滤出来了,也导入到系统了. 但当前时间可是下午的9点多啊,也就是21点多. 请教高手们有没办法把09改成21. 请勿使用第三方工具. 我所写的批处理如下:
把运行$Newtime.bat$之后,系统的时间就成了9点多了. [ Last edited by voiL on 2005-11-9 at 20:18 ] |
|
| 第2楼 willsort | 发表于 2005-11-09 19:06 |
| 元老会员 发帖 1,512 积分 4,432 | |
|
Re voiL:
试试下面的代码: [ Last edited by willsort on 2005-11-9 at 19:07 ] |
|
| 第3楼 voiL | 发表于 2005-11-09 20:16 |
| 中级用户 发帖 189 积分 384 | |
|
多谢willsort的指点,试用过您给出的代码,确实可行.
只是修改本地时间那里不能实现,必须把"/t"去掉才行.
|
|
| 第4楼 voiL | 发表于 2005-11-10 12:45 |
| 中级用户 发帖 189 积分 384 | |
|
测试环境:WinXP CMD(CMD VER 5.1.2600)
经过反复试验,发现willsort兄的代码还有些BUG. 如果192.168.0.112的机子时间是12:00~12:59的时候. net time \\192.168.0.112得到的结果是:
到这里,willsort兄应该能看出问题了吧?? 在经过以下代码运算后,会把时间改成 24:22(一个系统不能接受的时间)
我把代码改成以下样式之后,就没有出现过同样的问题.
|
|
| 第5楼 willsort | 发表于 2005-11-10 19:45 |
| 元老会员 发帖 1,512 积分 4,432 | |
|
Re voiL:
甚为欣赏兄实际测试的行动和独立思索的意识,希望能与兄多多交流。 time /t 的问题确实是我的疏忽,因为我在 xp_cmd 下使用 time 时习惯上使用 time /t 的格式;12点的问题我也曾有考虑,但是因为在我的印象中系统不会给出下午12点的时间,而是会给出上午0点的时间,因此最终对此未作处理。 说到底都是测试的问题,因为我不想再测试中更改我的系统时钟,所以 time /t 一句是写作 echo time /t %_hour%:%3 的,测得显示结果没有问题后,就将代码改成上述模样直接贴出了;而12点问题,因为自己的系统不是12时制的,所以也就偷懒未作测试了。许许多多的事实一再证实,不经测试或测试不周的代码是绝对靠不住的!可惜很多得到论坛所贴代码的朋友不会理睬这些,所以这才显示出兄进行实际的和周到的测试的可贵。 另外,你帖子中最后代码的第二句是否应改为: if "%1"=="下午" if not "%2"=="12" set /a _hour=%_hour%+12 |
|
| 第6楼 voiL | 发表于 2005-11-11 19:13 |
| 中级用户 发帖 189 积分 384 | |
|
多谢willsort兄指点.
我有个请求,希望大哥能给予帮助: 能否把以下代码中红色部分说明一下,如果可以的话,能否把if中与之相关的资料给我一份?因为我在CMD下查不到这些资料.在google上翻了十几页也找不到.
|
|
| 第7楼 willsort | 发表于 2005-11-12 18:44 |
| 元老会员 发帖 1,512 积分 4,432 | |
|
Re voiL:
红色字体所示的代码是环境变量的引用特性,与 if 无关。请查阅命令环境变量设置命令 set 的帮助文档,简单的用法是在CMD下使用 set /?。 |
|
| 第8楼 voiL | 发表于 2005-11-12 22:31 |
| 中级用户 发帖 189 积分 384 | |
|
OK.谢了.
|
|
|
[ 联系联盟系统管理团队 -
中国DOS联盟 -
标准版 ] Sponsored by ifanr Inc | © 2001–2023 |