Board logo

标题: [日期时间] 批处理日期算法求解 [打印本页]

作者: mq0036    时间: 2014-1-24 21:48     标题: 批处理日期算法求解

下面的是批处理中的一段代码,在网上找到的。具体功能是根据日期返回天数。代码如下:
ate2Day <date> <return>
setlocal ENABLEEXTENSIONS  
for /f "tokens=1-3 delims=/-, " %%a in ('echo/%1') do (set /a yy=%%a,mm=%%b,dd=%%c)
set /a dd=100%dd%%%100,mm=100%mm%%%100
set /a z=14-mm,z/=12,y=yy+4800-z,m=mm+12*z-3,j=153*m+2
set /a j=j/5+dd+y*365+y/4-y/100+y/400-2472633
endlocal&set %2=%j%&goto :EOF
想请教各位BAT的大神们,帮我说明一下算法;特别是如下两行代码:
set /a z=14-mm,z/=12,y=yy+4800-z,m=mm+12*z-3,j=153*m+2
set /a j=j/5+dd+y*365+y/4-y/100+y/400-2472633
各个数字代表什么意思,又是怎么算出来的,为什么要使用这个数字?
作者: 522235677    时间: 2014-1-24 23:37

开动你的大脑
作者: mq0036    时间: 2014-1-27 14:27

回复 2# 522235677


    希望能够有推导个过程。。。。。
作者: DAIC    时间: 2014-1-29 12:41

最好直接问作者
作者: zhanglei1371    时间: 2014-1-30 09:04

参考下
[已更新]批处理单行版时间日期计算 算法讨论 - BAT求助&讨论 - 批处理之家 批处理_BAT_CMD_DOS_VBS_Perl_Python_PowerShell - Powered by Discuz!
http://www.bathome.net/viewthread.php?tid=16147&extra=page%3D1%26amp%3Borderby%3Dreplies
作者: mq0036    时间: 2014-2-7 15:15

回复 5# zhanglei1371
谢谢,你提供的里面对算法讲解的很详细。只是感觉比较乱
作者: DAIC    时间: 2014-2-8 20:16

回复 6# mq0036


    一看就不是数学专业的




欢迎光临 批处理之家 (http://www.bathome.net/) Powered by Discuz! 7.2