PHP 产生随机时间
答案:5 悬赏:0 手机版
解决时间 2021-11-20 00:10
- 提问者网友:疯子也有疯子的情调
- 2021-11-19 10:24
PHP 产生随机时间
最佳答案
- 五星知识达人网友:夜风逐马
- 2021-11-19 11:44
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);
?>
相关函数说明:
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);
?>
全部回答
- 1楼网友:一秋
- 2021-11-19 16:36
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
";
}
?>
- 2楼网友:不甚了了
- 2021-11-19 15:20
用格林威治时间 也就是time() 整型的时间 在两个整数之间求随机数
- 3楼网友:孤独的牧羊人
- 2021-11-19 14:08
后面的时间能比前面的时间早?是比较晚吧。不是很明白。不知道把while循环中$date1 = $date改成$date2 = $date是不是你要的效果
- 4楼网友:雾月
- 2021-11-19 13:24
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~
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯