create procedure gettime
@begintime varchar(5),@EndTime varchar(5),@randtime varchar(5) output
as
set @randtime=(SELECT substring(convert(varchar,convert(datetime,100/RAND(),120),120),12,5) )
while @randtime<=@begintime or @randtime>=@endtime
set @randtime=(SELECT substring(convert(varchar,convert(datetime,100/RAND(),120),120),12,5) )
go
--执行示例
declare @outtime varchar(5)
exec hygettime '05:00','20:00',@outtime output
select @outtime
这个不用随机,用循环就可以了把年,月,日都当变量,进行三层循环
当日期满29,就往月份+1,日期置为1(29就为了方便处理,不然你还要判断实际月份天数。)
当月份满13,就往年份+1,月份置为1
这样3年多就过了
<?php
$count = 0
$i = 2000
$j = 1
$k = 1
while($count<1000){
$date = sprintf("%d-%02d-%02d 00:00:00",$i,$j,$k)
echo $date,"<br/>"
$count += 1
$k++
if($k==29){$k=1$j+=1}
if($j==13){$j=1$i+=1}
}
?>
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)