中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --
联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟
中国DOS联盟论坛
现在时间是 2026-08-10 02:35
47,811 主题排行 / 349,897 发帖 / 今日 2 篇 / 48,255 会员排行
DOS批处理 & 脚本技术(批处理室) » [已放弃请勿进]关于对任意时间的回溯
可打印版本  2,426 / 32
第1楼 bat-zw 发表于 2008-06-01 21:58
金牌会员 发帖 1,276 积分 3,105
[已放弃请勿进]关于对任意时间的回溯
&&因一个兄弟的求助贴,突然想到写一个任意时间回溯的批处理(非vbs),因为
知道要对分时日月年进行判断相当复杂,开始也做好了思想准备,可写到中间才
真正明白此中的难处,难就难在怎么把别人输入的任意时间进行转换计算,如输
入0 0 0 0 100000(指100000分钟),怎么把之转代成要回溯的年月日时分,我
脑壳想破了也没想清楚,望大家帮理一下思路,因问题的意思也难以描述清楚,
特在下面贴出我的部分代码:


[ Last edited by zw19750516 on 2008-6-2 at 12:39 AM ]
第2楼 bat-zw 发表于 2008-06-01 22:17
金牌会员 发帖 1,276 积分 3,105
顶,来人啊!!!
第3楼 plp626 发表于 2008-06-01 22:20
银牌会员 发帖 1,020 积分 2,278
我对次类问题的算法就是:先把任意给定的日期转换为分钟数(根据需要还可转为秒数,小时,天数),再将分钟数转换为日前,

可以参看函数库里的函数---timediff
第4楼 26933062 发表于 2008-06-01 22:23
银牌会员 发帖 879 积分 2,268
其实对天数的回溯,论坛早有经典代码了。
只要对时间部分判断一下天数就可以了。
第5楼 bat-zw 发表于 2008-06-01 22:28
金牌会员 发帖 1,276 积分 3,105
兄弟们是不是想简单了啊,论坛相关的贴子我都看了的,还在qq上和namejm讨论了。
第6楼 bat-zw 发表于 2008-06-01 22:32
金牌会员 发帖 1,276 积分 3,105
其实的我的本意是写一个任意时间回溯批处理出来,别人只要按年 月 日 时 分的输入格式输入的任一组五个数值就能得到回溯后是?年?月?日?时?分,如输入0 0 0 100000 0(100000小时)。
第7楼 HAT 发表于 2008-06-01 22:35
版主 发帖 5,017 积分 9,023
要求 zw19750516 兄公布自己的QQ号码和 namejm 的QQ号码^_^
第8楼 26933062 发表于 2008-06-01 22:37
银牌会员 发帖 879 积分 2,268
提供个思路
先把 月 、日、时间、转换成天数。
再用当前年减去输入的年、
再用结果减去转换的天数、最后在精确一下时间。
第9楼 bat-zw 发表于 2008-06-01 22:52
金牌会员 发帖 1,276 积分 3,105
Originally posted by 26933062 at 2008-6-1 22:37:
提供个思路
先把 月 、日、时间、转换成天数。
再用当前年减去输入的年、
再用结果减去转换的天数、最后在精确一下时间。

谢谢兄弟多次关注,请看这组数值20 34 600 4000 10000,回溯20年34个月600天4000个小时10000分钟,我有个思路就是把系统当前时间到公元元年元月元日零时零分的时间差以分为计数单位算出来,然后将输入的所有时间转为以分计数的值,再将系统值减去输入转换值,再从基准值公元元年元月元日零时零分正推年月日时分,问题是在转换输入值为分时是相当难的。如20年=?分,34月=?分
第10楼 slore 发表于 2008-06-01 22:55
铂金会员 发帖 2,478 积分 5,212
路过……

还是VBS爽嗬~~
第11楼 bat-zw 发表于 2008-06-01 23:00
金牌会员 发帖 1,276 积分 3,105
真的感觉好难啊,难道真用批处理就解决不了这个问题吗?
第12楼 terse 发表于 2008-06-01 23:05
银牌会员 发帖 946 积分 2,404
会不会溢出
还有我运行上面的怎么老是错误
这个P的作用是什么
第13楼 26933062 发表于 2008-06-01 23:11
银牌会员 发帖 879 积分 2,268
若是全部转换为分的话将是一个超大数,那又牵扯到大数的计算问题。
另外还有个疑问:20年2个月600天4000个小时10000分钟
如上, 2 个月是指的什么? 比如今天是6月1日,2个月前是 4月1日吗?
还是当前时间减去 600天4000个小时10000分钟 以后的 2 个月?
第14楼 bat-zw 发表于 2008-06-01 23:18
金牌会员 发帖 1,276 积分 3,105
Originally posted by 26933062 at 2008-6-1 23:11:
若是全部转换为分的话将是一个超大数,那又牵扯到大数的计算问题。
另外还有个疑问:20年2个月600天4000个小时10000分钟
如上, 2 个月是指的什么 ...

20 34 600 4000 10000这个五个数值全是要经过推算的,不是简单的同位相减
第15楼 moniuming 发表于 2008-06-01 23:19
银牌会员 发帖 574 积分 1,335 来自 广西
若是全部转换为分的话将是一个超大数,那又牵扯到大数的计算问题。
另外还有个疑问:20年2个月600天4000个小时10000分钟
如上, 2 个月是指的什么? 比如今天是6月1日,2个月前是 4月1日吗?
还是当前时间减去 600天4000个小时10000分钟 以后的 2 个月?

我觉得楼主的意思是:20年+2个月+600天+4000个小时+10000分钟

但感觉没什么意义,甚至.............唉
1 2 3  下一页
[ 联系联盟系统管理团队 - 中国DOS联盟 - 标准版 ]
Sponsored by ifanr Inc | © 2001–2023