Board logo

标题: [数值计算] 把时间加上10分钟 [打印本页]

作者: lzwudi    时间: 2008-9-2 23:24     标题: 把时间加上10分钟

研究研究,利用P来把时间加上10分钟
要求:代码简单,任何时间,
作者: pusofalse    时间: 2008-9-3 00:02

非常复杂。还要精确到秒和毫秒吗?
作者: Batcher    时间: 2008-9-3 00:32

纯P的方法非常复杂,代码可读性不好。
在批处理里面调用VBS计算时间,比较简明。
作者: jellyhk    时间: 2008-9-3 00:32

没看懂!
你是说加系统的时间?
作者: terse    时间: 2008-9-3 02:13

我也没看懂  下面的意思吗?
24小时制
  1. @echo off
  2. set aDate=%time: =%
  3. for /f "tokens=1-4 delims=:." %%i in ("%aDate%") do set/a n1=100%%i%%100,n2=100%%j%%100+10,n3=100%%k%%100,n4=100%%l%%100
  4. if %n2% gtr 59 set/a n1+=1
  5. set/a h2=n2%%60,n1=n1%%24
  6. echo %aDate% 10分钟后时间  %n1%:%h2%:%n3%:%n4%
  7. echo\&pause&exit
复制代码

作者: batman    时间: 2008-9-3 09:45     标题: 我来说明下

如果是仅限于将当前时间%time%的显示加上10分钟,则还是比较简单,代码如下:
  1. @echo off
  2. :lp
  3. set /a t=%time:~,2%,m=1%time:~3,2%%%100+10
  4. set "s=%time:~6%"
  5. if %m% geq 60 set /a m-=60,t+=1
  6. if %t% geq 24 set /a t-=24
  7. set /p=%t%:%m%:%s%<nul
  8. for /l %%i in (1,1,20) do set /p=<nul
  9. goto lp
复制代码
如果要加上日期%date%的显示,那将是一个极其麻烦的过程,如2008年2月29日23:50:00.00加上10分钟应该显示为2008年3月1日00:00:00.00,这其中涉及到闰年的判断、月的判断、日期的判断,总之是比较复杂




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