帮忙求解:批处理中日期函数的算法?
发布网友
发布时间:2022-04-23 23:09
我来回答
共3个回答
热心网友
时间:2023-10-13 04:16
如果是“语法”方面疑惑提出来还能帮你解释一下,至于这里面的“算法”我是没兴趣研究,应该是按每年365日每月或许是按30日,显然需要很多次修正,这样也应该有很多判断或者说有很多逻辑计算,而bat只是叫批处理,编程及计算功能无法与专业编程语言相比,象这样编为“函数”或者研究其“算法” 我认为意义不大。
要进行修正,想象应该有 if 命令, 观此代码却没看到,日常生活中的算法结合计算机特点运用到具体代码中,也许才算是“算法”吧,虽然都是一些不知怎么来的算式和数字,但对代码能如此实现预定功能我并不感到疑惑。bat命令中就set/a可以进行计算,这段代码里除了+ - * / 还用到了%% (即取余) ,强调一下除法是取整的,利用此特点使得能代替if , 举例:
set/a z=14-mm,z/=12
上式的逗号是在一个set/a 命令中依次进行多项计算赋值时的分隔符,这里的mm是之前赋给的月份数, 而z/=12 是z=z/12的简写,上式可以写成
set/a z=(14-mm)/12
这样直观些,这种计算什么意义?因为除法是取整的,mm的合法值是1~12 意味着 当mm是1或2月时取z=1否则取z=0 直接写成代码就是
if %mm% leq 2 (set z=1) else set z=0
猜测一下计算目的:2月之前如要计算至年初的天数对于是否"身怀有闰"是不需考虑的
还有的比如4800怎么来的,还能想象每400年恰要变动一次闰年,有4800个月?显然由代码无法判断它怎么去修正闰的情况,还有更多的算式和出现的数,则连这样猜测都难以做到了, 人家推导归纳出来"修正值"肯定经过了曲折步骤,哪这么容易从结果判断原因哦,看网友是否愿意重复别人的推导和归纳过程?
热心网友
时间:2023-10-13 04:16
建议到批处理之家提问这类问题,那里高手如云。追问你的建议很好,只不过欠缺个地址,不过地址为知道,只是为了方便其他人看到,可以根据你的建议也能找到问题解决的地方。
追答我不知道你的追问是什么意思(看不太懂,理解力有限)
我把批处理之家的地址贴给你,如果你需要,你就去看看。
http://bathome.l3.wuyou.com/index.php
热心网友
时间:2023-10-13 04:17
返回天数?返回的是什么天数,从那一天开始算
不说清楚,怎么分析这个bat追问你自己看不懂吗?如果你不能看懂这个程序,那你如何谈起这个程序的算法啊?