找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
楼主: plp626

[日期时间] [已更新]批处理单行版时间日期计算 算法讨论

[复制链接]
发表于 2012-11-16 23:29:36 | 显示全部楼层
回复 77# plp626


    能给个例子证明一下不?
 楼主| 发表于 2012-11-20 22:26:23 | 显示全部楼层
研究了下,两个算法等价,都正确
  1. :date2i <year> <month> <day> <RetVarName>  // 一楼计算公式
  2. setlocal&set/a y=%1,m=%2,d=%3
  3. set/am+=9,m%%=12,y-=m/10,i=365*y+y/4-y/100+y/400+(m*153+2)/5+d-1
  4. endlocal&if %4.==. (echo %i%)else set %4=%i%
  5. goto:eof
复制代码
  1. :Gauss_date2i <year> <month> <day> [RetVarName]  // Gauss 日期计算公式
  2. setlocal&set/a "y=%1,m=%2-2,d=%3
  3. if %m% leq 0 set/a m+=12,y-=1
  4. set/a i=365*y+y/4-y/100+y/400+367*m/12+d-31
  5. endlocal&if %4.==. (echo %i%)else set %4=%i%
复制代码

评分

参与人数 1技术 +1 收起 理由
CrLf + 1 真服了你,杀死脑细胞...

查看全部评分

发表于 2012-11-22 14:52:13 | 显示全部楼层
回复 79# plp626


    哦,我还以为真的有bug呢
发表于 2017-3-2 00:09:54 | 显示全部楼层
再次向前辈致敬,这些东西如果每个人都自己去想去算去写,真的麻烦。
但胡乱复制网上经验又不放心。
这里居然有这么优质的资料分享和经验交流!
阅读完毕,心情无以言表。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-17 07:06 , Processed in 0.018685 second(s), 8 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表