首页 > 编程语言 >PHP随机生成指定时间段的指定个数时间

PHP随机生成指定时间段的指定个数时间

时间:2023-04-07 14:11:57浏览次数:34  
标签:endtime 指定 param 时间段 begintime date 格式 array PHP

一、生成某个范围内的随机时间 

/** 
 * 生成某个范围内的随机时间 
 * @param <type> $begintime  起始时间 格式为 Y-m-d H:i:s 
 * @param <type> $endtime    结束时间 格式为 Y-m-d H:i:s   
 * @param <type> $now         是否是时间戳 格式为 Boolean   
 */  
function randomDate($begintime, $endtime="", $now = true) {
    $begin = strtotime($begintime);  
    $end = $endtime == "" ? mktime() : strtotime($endtime);
    $timestamp = rand($begin, $end);
    // d($timestamp);
    return $now ? date("Y-m-d H:i:s", $timestamp) : $timestamp;          
}

二、生成某个范围内的随机时间数组

/** 
 * 生成某个范围内的随机时间数组
 * @param <type> $num          随机个数 格式为 int 
 * @param <type> $begintime  起始时间 格式为 Y-m-d H:i:s 
 * @param <type> $endtime    结束时间 格式为 Y-m-d H:i:s   
 */  
function create_date_array($num = 2000 , $begintime, $endtime){
    $i=0;
    $date_array = array();
    while ($i < $num){
        $date = randomDate($begintime,$endtime);
        $date_array[$i]['time'] = $date;
        $i++;
    }
    sort($date_array);
    return $date_array;
}

三、统计数组中某字段的个数

/** 
 * 统计数组中某字段的个数
 * @param <type> $arr          统计数组 格式为 array
 * @param <type> $field       统计字段 格式为 string 
 */  
function countArr($arr,$field = 'time'){
    $arr2 = array();
    foreach($arr as $k=>$v){
        foreach($v as $k2=>$v2){
            if($k2!=$field && $field != null){
                continue;
            }
            if(!isset($arr2[$k2][$v2])){
                $arr2[$k2][$v2] = 1;
            }else{
                ++$arr2[$k2][$v2];
            }
        }
    }
    return $arr2;
}

 

标签:endtime,指定,param,时间段,begintime,date,格式,array,PHP
From: https://www.cnblogs.com/libras/p/17295960.html

相关文章

  • [记录]php url传参json json_decode 后 null
    从APP端或从其他页面post,get过来的数据一般因为数组形式。因为数组形式不易传输,所以一般都会转json后再发送。本以为发送方json_encode(),接收方json_decode(),就解决的问题,结果发现,json_decode()后是NULL。一般会反应是少了一个参数“true”,但是回去看就是 json_decode($data,tru......
  • 查看常用thinkphp3.2.x和thinkphp5.1.x版本方法
    1、Thinkphp3.2.x在\ThinkPHP\ThinkPHP.php文件中直接查找,例如//版本信息constTHINK_VERSION='3.2.4'; 2、由于tp3.2本身定义了版本信息的常量,所以也可以通过在控制器中打印版本信息的方法进行查看echoTHINK_VERSION;  3、查看tp5.1.x的版本信息方法一......
  • thinkphp5个推SDK
    首先先下载个推官方的sdk直接在根目录下composerrequiregetuilaboratory/getui-pushapi-php-client-v2如果报错请用composerrequiregetuilaboratory/getui-pushapi-php-client-v2dev-master下载以后文件会在vendor目录下 composer下完以后,直接new\GTClient这样......
  • PHPCMS 后台访问特别慢的原因?
    PHPCMS后台访问特别慢的原因?因为PHPCMS默认连接数据库,使用的HOST是“localhost”,而“localhost”如果没有被“127.0.0.1”解析到,就会导致PHPCMS访问数据库会很慢,所以也导致后端页面访问很慢。解决方法将localhost进行解析或将localhost改为127.0.0.1来自【https://www.php.c......
  • websocket - w.php
    on('Open',function($ws,$request){$ws->push($request->fd,"hello,welcome\n");$GLOBALS['fds'][$request->fd]=1;print_r($GLOBALS['fds']);});//监听WebSocket消息事件$ws->on('Message&#......
  • 【web 开发基础】PHP 的流程控制之多向条件分支结构 -PHP 快速入门 (14)
    多向条件分支结构(elseif)条件分支结构其实是我们生活中常用的一种一种逻辑结构,类似于我们常用的(如果...那么...否则...就.....).本文中的elseif子句,和此名称暗示的一样,就是if和else的组合,相当于(...else{if(表达式){{语句块;}}})。和else一样,它延伸了if语句,条件分支结构中els......
  • Django笔记十八之save函数的继承操作和指定字段更新等实例方法
    本文首发于微信公众号:Hunter后端原文链接:Django笔记十八之save函数的继承操作和指定字段更新等实例方法这篇笔记主要介绍Django一些实例方法。什么是实例,我们知道通过filter()的一些筛选方法,得到的是QuerySet,而QuerySet取单条数据,通过索引,或者first()或者last()等......
  • Linux下使用rm删除文件,并排除指定文件
    rm是我们在Linux下删除文件经常用到的命令,但是有时候我们目录下有很多个文件想要删除,偏偏却要保留其中1个或几个文件,那怎么办呢?很多新手朋友可能会采取一个一个文件删除的方法来操作,但是如果文件很多呢?删到啥时候啊~~ 今天我们就来教大家使用rm命令删除文件的时候如何排除指定......
  • 2023.04.06 - vue组件中动态指定监听的值
    业务场景:高拍仪给出的视频信息API回调里会不断返回图像数据。因为有主副摄像图像信息,并且两个图像信息会二选一展示在DOM容器里。所以就是二对一的关系。//主摄像数据letpriPic:string='';//副摄像数据letsubPic:string='';//展示在容器的数据=主摄像数据||副摄像......
  • 痞子衡嵌入式:利用i.MXRT1xxx系列ROM集成的DCD功能可轻松配置指定外设
    大家好,我是痞子衡,是正经搞技术的痞子。今天痞子衡给大家介绍的是利用i.MXRT1xxx系列ROM集成的DCD功能可轻松配置指定外设。关于i.MXRT1xxx系列芯片BootROM中集成的DCD功能这个话题,痞子衡早就想写了,但是一直没有动笔,毕竟这个话题比较生涩,单独讲会比较枯燥。最近痞......