14.1 UNIX时间戳
14.1.1 将日期和时间转换成UNIX时间戳
int mktime ([ int $hour = date("H") [, int $minute = date("i") [, int $second = date("s") [, int $month = date("n") [, int $day = date("j") [, int $year = date("Y") [, int $is_dst = -1 ]]]]]]] )
int strtotime(string time[,int now])
14.1.2 时间的计算
14.2 在PHP中获取日期和时间
14.2.1 调用getdate()函数取得日期/时间
getdate()函数返回一个由时间戳组成的关联数组,参数需要一个可选的UNIX时间戳。
14.2.2 日期和时间格式化输出
string date(string format[,int timestamp])
该函数用于格式化一个本地时间和日期,第一个参数是必需的,规定时间戳的转换格式。
echo date("Y 年 m 月 d 日 H:i:s");
14.3 修改PHP的默认时区
独立的服务器,有权限修改配置文件,设置时间就可以通过修改php.ini中的date.timezone属性完成
date.timezone=Etc/GMT-8
如果使用的是共享服务器,没有权限修改配置文件php.ini文件,并且PHP在5.1.0以上,也可以在输出时间之前调用date_default_timezone_set()函数设置时区。
date_default_timezone_set('PRC'); //在输出时间之前设置时区,PRC为中国
echo date(Y-m-d H:i:s',time()); //输出为北京时间
14.4 使用微秒计算PHP脚本执行时间
可以调用microtime()返回当前UNIX时间戳和微秒数。
mixed microtime([bool get_as_float])
<?php
class Timer {
private $startTime=0;
private $stopTime=0;
function start(){
$this->startTime=microtime(true);
}
function stop(){
$this->stopTime=microtime(true);
}
function spent(){
return round(($this->stopTime - $this->startTime),4);
}
}
$timer=new Timer();
$timer->start();
usleep(1000);
$timer->stop();
?>