中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --
联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟
中国DOS联盟论坛
现在时间是 2026-08-10 15:57
47,811 主题排行 / 349,897 发帖 / 今日 0 篇 / 48,255 会员排行
DOS批处理 & 脚本技术(批处理室) » 批处理 将秒转换成日时分秒
可打印版本  5,267 / 24
第16楼 zouzhxi 发表于 2007-01-17 09:52
中级用户 发帖 177 积分 430 来自 广东深圳
如果我输入字母,它还是会出现:

请输入秒数:dddd

0 天 0 小时 0 分 0 秒

请按任意键继续. . .


我是不是来捣乱,,,的...嘻嘻...;)

[ Last edited by zouzhxi on 2007-1-17 at 09:54 AM ]
第17楼 PPdos 发表于 2007-01-17 11:02
高级用户 发帖 268 积分 783
将以上代码理解为(非毫秒):

set /a D=%t%/86400
set /a H=%t%%%86400/3600
set /a M=%t%%%86400%%3600/60
set /a S=%t%%%86400%%3600%%60
ECHO %D%日%H%时%M%分%S%秒

感悟即:取值为t 除86400秒(等于1日)商为天数 余数除3600秒(等于1小时)商为小时数 余数再循环 以次类推可推广至周月年 但因为32位精确限制将达不到最大预期效果
第18楼 hxuan999 发表于 2007-01-18 01:55
中级用户 发帖 161 积分 337
Originally posted by namejm at 2007-1-16 16:15:
  12楼的代码有如下缺陷:

  1、截取小数部分用替换语句是容易出错的,比如:整数部分是小数部分的某一个字符串的时候,如 23.1234。建议不 ...


谢谢指出,呵呵.写的草率了.已经修正了.
第19楼 everest79 发表于 2007-01-18 07:15
金牌会员 发帖 1,127 积分 2,564
Originally posted by PPdos at 2007-1-16 08:39 PM:
各位厉害。。竟然连毫秒都准确到了 。。看来可以修改成春节倒计时了^^



我刚写的嘿嘿:D
第20楼 uiopuiop 发表于 2007-10-05 10:21
中级用户 发帖 211 积分 400
有办法突破11天的限制吗?如果数字太大会溢出啊,多谢!


请输入秒数(退出请直接按回车):4321432531252
Invalid number. Numbers are limited to 32-bits of precision.
Invalid number. Numbers are limited to 32-bits of precision.
Invalid number. Numbers are limited to 32-bits of precision.
Invalid number. Numbers are limited to 32-bits of precision.

11 天 32 小时 19 分 47 秒
第21楼 uiopuiop 发表于 2007-10-05 10:27
中级用户 发帖 211 积分 400
这个方法好点
这个论坛果然不错!!! 强烈支持!


@echo off
:begin
cls
echo.
set input=
set /p input= 请输入秒数(退出请直接按回车):
if not defined input exit
set /a SS=%input%%%60
set /a MM=%input%/60%%60
set /a HH=%input%/3600%%60
if %HH% GEQ 24 set /a HH=HH%%24
set /a DD=%input%/86400
if %DD% GEQ 7 set /a DD=DD%%7
set /a WW=%input%/604800%%60
echo.
if %DD% GEQ 1 (echo %WW% 周 %DD% 天 %HH% 小时 %MM% 分 %SS% 秒
) else (
echo %DD% 天 %HH% 小时 %MM% 分 %SS% 秒
)
echo.
pause
goto begin

[ Last edited by uiopuiop on 2007-10-5 at 11:28 AM ]
第22楼 uiopuiop 发表于 2007-10-05 10:33
中级用户 发帖 211 积分 400
不过。。。。。

请输入秒数(退出请直接按回车):65356534654
Invalid number. Numbers are limited to 32-bits of precision.
Invalid number. Numbers are limited to 32-bits of precision.
Invalid number. Numbers are limited to 32-bits of precision.
Invalid number. Numbers are limited to 32-bits of precision.
Invalid number. Numbers are limited to 32-bits of precision.

29 周 25 天 10 小时 33 分 20 秒
第23楼 uiopuiop 发表于 2007-10-05 11:53
中级用户 发帖 211 积分 400
算法有误
请输入秒数(退出请直接按回车):3431253

5 周 4 天 5 小时 7 分 33 秒

好像因该时17小时,不是5小时。。。。

[ Last edited by uiopuiop on 2007-10-5 at 12:04 PM ]
第24楼 scriptor 发表于 2007-10-05 12:25
银牌会员 发帖 555 积分 1,187
第25楼 uiopuiop 发表于 2007-10-05 12:29
中级用户 发帖 211 积分 400
你的算法很好,小弟愚笨,如何输入以秒为单位的数字,输出只要精确到秒就可以了。并且代码在一个批处理里。


能不能写出来,万分感激!

[ Last edited by uiopuiop on 2007-10-5 at 12:54 PM ]
上一页  1 2
[ 联系联盟系统管理团队 - 中国DOS联盟 - 标准版 ]
Sponsored by ifanr Inc | © 2001–2023