找回密码
 加入
搜索
查看: 3382|回复: 4

[效率算法] [已解决]一个时间的字符串如何增加1分钟?

[复制链接]
发表于 2015-2-17 13:25:10 | 显示全部楼层 |阅读模式
本帖最后由 ioripalm 于 2015-2-25 19:57 编辑

比如提取到一个时间字符串"13:19"
如何将这个字符串增加1分钟 变成"13:20"
如果是"13:59"怎么办?
哪位知道正则这么写?或许有函数可以解决!_DateAdd貌似必须要YYYY/MM/DD[ HH:MM:SS]格式才能加
用了个笨方法:
        $NowTime = "13:10"
        $NowTime = "2015/01/01 " & $NowTime & ":00"
        $NowTime = _DateAdd("n", 1, $NowTime)
        $NowTime = StringMid($NowTime,12,5)
感谢“半芯竹” 给出的方案,谢谢
发表于 2015-2-17 20:55:01 | 显示全部楼层
本帖最后由 netegg 于 2015-2-17 21:50 编辑

$NowTime = _nowtime()
$time= stringsplit($Nowtime, ':',2)
switch $time[1]
  case 59
    $time = number($time[0])+1 & ':00:' & @sec
  case else
    $time = $time[0] & ':' & stringformat('%02d' , number($time[1]) + 1) & ':' & @sec
endswitch
发表于 2015-2-17 22:47:09 | 显示全部楼层
本帖最后由 半芯竹 于 2015-2-17 23:07 编辑

Local $txt,$a,$b,$c
$txt = '23:58"nover": 2503342411.83} });'
$a = StringRegExp($txt, "\d+\:\d+", 3)
$b = StringSplit($a[0], ":")
If $b[1]<24 And $b[2]<>59 then
 $c=$b[1]&":"&$b[2]+1
 ElseIf $b[2]=59 and $b[1]<24 Then 
         If $b[1]+1 =24 Then 
                 $c="00:00"
                 Else
         $c=$b[1]+1&":00"
         Endif
Endif
MsgBox(0,0,$c)

正则的效果。看看是否合用。增加24小时和59分钟的判断。。
发表于 2015-2-17 23:59:06 | 显示全部楼层
本帖最后由 netegg 于 2015-2-18 00:12 编辑

回复 3# 半芯竹
你管一天呢,取余就完了,还用正则
mod(1,24)=mod(24+1,24)
分也一样,除数换成60就行了
我不是不知道进位的事,不想把所有的都说了,到时候简单问题依然会问,还不如留点东西让出题的自己去想
发表于 2015-2-18 01:51:19 | 显示全部楼层
回复 4# netegg


    好吧,我是小学生,不好意思。。
您需要登录后才可以回帖 登录 | 加入

本版积分规则

QQ|手机版|小黑屋|AUTOIT CN ( 鲁ICP备19019924号-1 )谷歌 百度

GMT+8, 2024-5-12 17:38 , Processed in 0.081359 second(s), 23 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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