美文网首页
PHP中的日期时间函数

PHP中的日期时间函数

作者: 简简天天 | 来源:发表于2019-12-26 20:54 被阅读0次

    日期时间函数库的简介

    • 设置时区
      1、修改php的配置文件date.timezone设置时区
      2、通过date_default_timezone_set()动态设置时区 true false
    /**
     * date_default_timezone_get() 得到当前时区
     * 亚洲时区
     * PRC 中华人民共和国
     * Asia/Shanghai
     * 修改php.ini配置文件 date.timezone=PRC,重启服务器,针对所有脚本都有效
     */
    echo date_default_timezone_get(); // Europe/Berlin
    date_default_timezone_set('PRC');
    date_default_timezone_set('Asia/Shanghai');
    echo date_default_timezone_get(); // Asia/Shanghai
    

    3、通过init_set()动态设置时区

    /**
     * ini_set() 运行时设置PHP的时区
     * ini_get() 获得配置选项的值
     */
    echo ini_get('date.timezone'); // Europe/Berlin
    echo PHP_EOL;
    ini_set('date.timezone','PRC'); 
    echo ini_get('date.timezone'); // PRC
    

    日期时间函数库的使用

    • 格式化本地日期时间date()
      image.png
      月份:带前导0的是m,不带前导0的是n
      日:带前导0的是d,不带前导0的是j
    // date('w') // 星期中的第几天
    echo date('Y-m-d H:i:s'); // 2019-12-26 11:28:10
    echo date('Y'); // 2019
    echo date('Y-m-d H:i:s').' 星期'.['日','一','二','三','四','五','六'][date('w')]; // 2019-12-26 11:34:51 星期四
    
    $year = date('Y');
    echo date('L') ? '是闰年':'不是闰年'; // 检测是否是闰年,是返回1,不是返回0
    if($year % 4==0 && ($year % 100 !=0 || $year % 400 == 0)){
        echo '是闰年';
    }else{
        echo '不是闰年';
    }
    echo '本周是全年中的第'.date('W').'周'; // 当天是全年中的第52周
    echo '当前是本年中的第'.date('z').'天';
    echo '本月共'.date('t').'天';
    
    • 时间戳time(),返回秒数
      从1970年1月1日00:00:00到当前时间所经历的秒数
      获取当前的时间戳
    echo time(); // 获取当前时间的时间戳,单位秒
    echo '一天之后这个时间为'.date('Y-m-d H:i:s',time()+24*3600);
    echo '一周之后这个时间为'.date('Y-m-d H:i:s',time()+7*24*3600);
    echo '14天之后这个时间为'.date('Y-m-d H:i:s',time()+14*24*3600);
    

    将制定日期转换成时间戳

    $time = mktime(0,0,0,05,25,1988); // mktime(h:i:s n:j:Y)** 得到指定日期的时间戳
    $birth = date('Y-m-d',$time);
    echo $birth;
    $days = floor((time()-$time)/(3600*24*365));
    echo $days;
    echo mktime(0);
    

    将英文文本的日期或时间转换成时间戳

    echo time();
    echo PHP_EOL;
    echo strtotime('now');
    echo PHP_EOL;
    echo time()+24*3600;
    echo PHP_EOL;
    echo strtotime('+1 day');
    echo strtotime('-1 day');
    echo strtotime('+5 days');
    echo strtotime('+1 month');
    echo strtotime('+2 years +3 months +4 days');
    echo strtotime('last Monday');
    
    • 微秒的使用
      通过microtime()获取微秒
      通过微秒实现计算PHP的执行时间
    echo time(); // 1577363387
    echo PHP_EOL;
    echo microtime(); // 0.34274400 1577363387 微秒数 时间戳
    echo PHP_EOL;
    echo microtime(true); // 1577363622.6872
    echo PHP_EOL;
    $start = microtime(true);
    for($i=0;$i<10000;$i++){
        $arr[]=$i;
    }
    $end = microtime(true);
    echo '程序执行时间'.round($end-$start,4);
    
    print_r(getDate()); // 得到日期时间相关信息
    /**
     * Array
    (
    [seconds] => 6
    [minutes] => 40
    [hours] => 13
    [mday] => 26
    [wday] => 4
    [mon] => 12
    [year] => 2019
    [yday] => 359
    [weekday] => Thursday
    [month] => December
    [0] => 1577364006
    )
     */
    print_r(gettimeofday()); // 获取当前的日期时间信息
    /**
     *Array
    (
    [sec] => 1577364122
    [usec] => 768192
    [minuteswest] => -60
    [dsttime] => 0
    )
     */
    var_dump(checkDate(12,34,2019)); // 验证日期的合法性
    

    相关文章

      网友评论

          本文标题:PHP中的日期时间函数

          本文链接:https://www.haomeiwen.com/subject/jkahoctx.html