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

[其他] 日期时间计算的批处理怎样理解?

[复制链接]
发表于 2008-1-15 04:24:40 | 显示全部楼层 |阅读模式
set /P realtime="输入时间点(年月日时分秒),如. 20061031211600 :"
::setlocal ENABLEEXTENSIONS
set yy=%realtime:~0,4%&set mm=%realtime:~4,2%&set dd=%realtime:~6,2%&set hh=%realtime:~8,2%&set nn=%realtime:~10,2%&set ss=%realtime:~12,2%
if 1%yy% LSS 200 if 1%yy% LSS 170 (set yy=20%yy%) else (set yy=19%yy%)
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
if 1%hh% LSS 20 set hh=0%hh%
if {%nn:~2,1%} EQU {p} if "%hh%" NEQ "12" set hh=1%hh%&set/a hh-=88
if {%nn:~2,1%} EQU {a} if "%hh%" EQU "12" set hh=00
if {%nn:~2,1%} GEQ {a} set nn=%nn:~0,2%
set /a hh=100%hh%%%100,nn=100%nn%%%100,ss=100%ss%%%100
set /a j=j*86400+hh*3600+nn*60+ss-8*60*60
echo %j%
::endlocal
set UPDATETM=%j%000
echo %UPDATETM%>time.txt
发表于 2008-1-15 10:49:18 | 显示全部楼层
好乱的代码啊。
你是哪里不懂啊。?
是不是截止符不懂啊。
看随风版主的教程吧。
 楼主| 发表于 2008-1-15 23:14:27 | 显示全部楼层
代码就这样的 啊 看的懂的话就不用问了呢。我汗  等待高手ING。。。
发表于 2008-1-15 23:29:56 | 显示全部楼层
粗略的看,从这句来看:set /a j=j*86400+hh*3600+nn*60+ss-8*60*60
似乎是 相关时区校准或者查询的。
不过,楼主的代码有很多错漏的地方...
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-3-17 04:26 , Processed in 0.017462 second(s), 8 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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