永发信息网

PHP 产生随机时间

答案:5  悬赏:0  手机版
解决时间 2021-11-20 00:10
PHP 产生随机时间
最佳答案
PHP 中的 strtotime() 与 mt_rand() 函数可以实现

相关函数说明:

strtotime() 函数将任何英文文本的日期时间描述解析为 Unix 时间戳。
mt_rand() 使用 Mersenne Twister 算法返回随机整数。

实现两个时间中随机时间的基本原理是:
先把两个时间解析为时间戳(相当于一个整数),然后用随机函数随机这两个整数,得到中间的时间戳,然后还原为时间。

例如:
//先定义一个可以生成随机时间的函数
function rand_time($start_time,$end_time){

$start_time = strtotime($start_time);
$end_time = strtotime($end_time);
echo date('Y-m-d H:i:s', mt_rand($start_time,$end_time));
}

$start_time = '2015-01-01 00:00:00';
$end_time = '2015-06-01 00:00:00';
//调用函数
rand_time($start_time,$end_time);
?>
全部回答
function rand_time($a,$b)
{
$a=strtotime($a);
$b=strtotime($b);
return mt_rand($a,$b);
}
$date1="2010-05-10 20:03:01";
$date2="2010-05-11 20:21:32";
$num = 10;
$i=0;
while ($i < $num){
$date[] = rand_time($date1,$date2);
$i++;
}
asort($date);
foreach($date as $r){
$date1=date( "Y-m-d H:m:s", $r);
echo "$date1
";
}
?>
用格林威治时间 也就是time() 整型的时间 在两个整数之间求随机数
后面的时间能比前面的时间早?是比较晚吧。不是很明白。不知道把while循环中$date1 = $date改成$date2 = $date是不是你要的效果
function rand_time($a,$b)
{
$a=strtotime($a);
$b=strtotime($b);
return date( "Y-m-d H:m:s", mt_rand($a,$b));
}
$date1="2010-05-10 20:03:01";
$date2="2010-05-11 20:21:32";
$num = 10;
$i=0;
while ($i < $num){
$date = rand_time($date1,$date2);
$datea[]= $date;
$i++;
}
sort($datea);

foreach ($datea as $values)
{

echo $values."
";

}
?>
你可以这样处理一下,就好了~O(∩_∩)O~
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
红色衣服外面配什么色衣服好看?
中国工商银行(辰溪县支行)地址有知道的么?有
BxC是怎么来的
翻天印 封神榜
艾灸灸肚脐有什么作用
814除以5怎样列竖式计算
什么是教育中的“巩固率”?
瞬间心疼的感觉有没有
西藏冷吗
Write your movie review using the notes.
男友可以宠溺前女友却不宠溺我,要我独立自主?
请问油榨街坐几路公交到龙洞堡国际机场
房子产权问题
招远市电工操作证办理在哪里办,多长时间,需
非常好的女性朋友叫什么
推荐资讯
1.333......是混循环吗
中国移动(中洲服务厅)地址好找么,我有些事要
常州到河南驻马店驾车路线
和T发音差不多的英语单词有哪些
中班语言葡萄藤教案
壹号网咖地址好找么,我有些事要过去,
轩逸.卡罗拉.朗逸.博越哪个好
中国2010年上海世博会河北馆的展馆外观
宝丰县平顶山好想你这个地址在什么地方,我要
女朋友来M了,我应该买什么给她?让她没那么痛
请问六代雅阁颜色叫什么名字?想买补漆笔不知
从章风到芒市开私家大概用几个小时
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?