ioripalm 发表于 2015-2-17 13:25:10

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

本帖最后由 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)感谢“半芯竹” 给出的方案,谢谢

netegg 发表于 2015-2-17 20:55:01

本帖最后由 netegg 于 2015-2-17 21:50 编辑

$NowTime = _nowtime()
$time= stringsplit($Nowtime, ':',2)
switch $time
case 59
    $time = number($time)+1 & ':00:' & @sec
case else
    $time = $time & ':' & stringformat('%02d' , number($time) + 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, ":")
If $b<24 And $b<>59 then
$c=$b&":"&$b+1
ElseIf $b=59 and $b<24 Then
       If $b+1 =24 Then
               $c="00:00"
               Else
       $c=$b+1&":00"
       Endif
Endif
MsgBox(0,0,$c)
正则的效果。看看是否合用。增加24小时和59分钟的判断。。

netegg 发表于 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


    好吧,我是小学生,不好意思。。{:face (301):}
页: [1]
查看完整版本: [已解决]一个时间的字符串如何增加1分钟?