本帖最后由 terse 于 2013-9-6 13:08 编辑
1901 到 2099 之间的计算 是否可简化下呢- @echo off
- set date1=1901-1-1 0:0.0
- set date2=2099-12-31 23:59:59
- for %%i in ("%date1%" "%date2%") do (
- for /f "tokens=1-6 delims=/\:-. " %%a in (%%i) do (
- call:jd %%a %%b %%c %%d %%e %%f
- ))
- set /a d+=s/86400,h=(s%%86400)/3600,m=(s%%3600)/60,s%%=60
- echo %date1% 与 %date2% 之间 %d% 天 %h% 时 %m% 分 %s% 秒
- pause&exit
- :jd
- set /a y=%1,m=%2,m=(m+9)%%12+4,y-=M/14
- set /a d=1461*Y/4+153*M/5+%3-n,s=%4*3600+%5*60+%6-s+i,n=d+1,i=86400
复制代码
|