olala 发表于 2014-4-29 11:49:18

给出起始时间和结束时间,如何生成区间内的一个随机时间?[已解决]

本帖最后由 olala 于 2014-5-8 23:21 编辑

例如给出当天内,任意起始时间01:24:09和结束时间15:13:50,然后函数返回这两个时间内的一个随机时间xx:xx:xx

我想了一下,下面这个整点就还好做,如果是像上述时间值,就不懂如何搞了。


Func _RTime($S,$E);输入起始时间01:00:00和结束时间12:00:00,返回中间的一个随机时间xx:xx:xx
        Local $nTime
        $St = StringRegExp($S, '\d\d', 3)
        $En = StringRegExp($E, '\d\d', 3)
        $nTime=Random($St,$En-1,1)
        $nTime=Random(1,60,1)
        $nTime=Random(1,60,1)
        $newTime=StringFormat('%02d:%02d:%02d', $nTime, $nTime, $nTime)
        Return $newTime
EndFunc

tanyinhua 发表于 2014-4-29 11:52:19

自己在中间添加:符号{:face (356):}

pcbar 发表于 2014-4-29 21:39:10

代码如下,自已再加工一下,最好加上时间有效性检测#include <Date.au3>
Global $Hour, $Min, $Sec
$rtt = Random(_TimeToTicks(01, 24, 09), _TimeToTicks(15, 13, 50))
_TicksToTime($rtt, $Hour, $Min, $Sec)
MsgBox(262144, '', '取得某时段间的随机时间:' & StringFormat("%02d:%02d:%02d\n", $Hour, $Min, $Sec))

chishingchan 发表于 2014-4-30 21:41:48

看过大型软件的日期是一个数字形式(具体怎样转化不知道),两个日期数字间的数就能达到你的要求

h20040606 发表于 2014-4-30 22:16:06

#3楼正解,谢谢了

ylhao234 发表于 2017-3-29 17:17:16

学习学习{:face (356):}

jingzhinvr 发表于 2017-3-30 00:00:04

好不错。谢谢
页: [1]
查看完整版本: 给出起始时间和结束时间,如何生成区间内的一个随机时间?[已解决]