PHP基础之日期和时间管理

PHP日期和时间管理

UNIX时间戳

  • 声明方式
    • int mktime([ int $hour[, int $minute [, int $month [, int $day [, int $year [, int $is_dst ]]]]]])
<?php
    # 指定参数顺序:时分秒 月日年
    echo date("Y-m-d H:i:s", mktime(8))
?>

获取时间

获取系统当前时间

  • 获取系统当前时间
    • 重启服务器
    • 设置时区
# 重启服务器
<?php
    int time(void);
    date.timezone=PRC;
?>
# 设置时区
<?php
    date_default_timezone_set("Asia/Shanghai");
    echo date("Y-m-d H:i:s", time());
?>

获取用户提交的时间

  • 获取用户提交的时间
    • 将字符串转化为时间戳
  int strtotime(string $time [,int $now]);
<?php
    # 将字符串转成时间戳然后格式化输出
    echo date("Y-m-d H:i:s", strtotime("2020-5-27 8:27:27")).'<br>';
    # 明天的这个时间点
    echo date("Y-m-d H:i:s", strtotime("+1 day")).'<br>';
    # 三个月前的时间点
    echo date("Y-m-d H:i:s", strtotime("-3 month")).'<br>';
    # 下个星期一的日期时间
    echo date("Y-m-d H:i:s", strtotime("next monday")).'<br>';
?>

获取精确时间

  • 获取精确时间
    • mixed microtime([bool $get_as_float])
<?php
    header("Content-Type:text/html;charset=utf-8");
    function microtime_float(){
        list($usec, $sec)=explode(" ", microtime());
        return ((float)$usec+ (float)$sec);
    }
    $time_start= microtime_float();
    usleep(1000);
    $time_end= microtime_float();
    $time= $time_end - $time_start;
    echo "执行该脚本花费了{$time}秒";
?>

格式化输出

  • 声明方式

    • string date(string $format [,int $timestamp])
  • format字符

    • 见手册
<?php
    echo date("Y年m月d日H时i分s秒", time())."<br>";
    echo "Today is ". date("l",time())."<br>";
    echo date('l ds \of F Y h:i:s A');
?>
posted @ 2020-11-13 09:39  wing1377  阅读(76)  评论(0编辑  收藏  举报