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');
?>