Unix时间戳
从 Unix 纪元(格林威治时间 1970 年 1 月1日 00:00:00)到当前时间的秒数 .
相关函数:
time() --- 函数返回一个当前系统的时间戳
mktime( ) --- 取得一个日期的 Unix 时间戳
1 格式:int mktime(时[,分[,秒[,月[,日[,年[,is_dst区]]]]]]); 2 注意:is_dst参数表示是否为夏时制,PHP5.10后此参数已废除。
strtotime( ) --- 将任何英文文本的日期时间描述解析为 Unix 时间戳
1 格式:int strtotime ( string $time [, int $now ]
案例:
//系统时间戳 echo "当前系统的时间戳:".time(); //秒数 //mktime -- 给一个年月日时分秒,返还给你一个时间戳,用的非常少 echo "获取指定日期2033-2-12的时间戳:".mktime(0,0,0,2,12,2033); //strtotime() -- 如果使用也是用这个 echo "获取指定日期2034-1-1的时间戳:".strtotime('2034-1-1'); echo "获取3天前的时间戳:".strtotime('-3 day'); echo "获取3天后的时间戳:".strtotime('3 day');
在PHP中获取日期和时间
getdate -- 取得日期/时间信息
格式:array getdate ( [int timestamp] )
返回一个根据 timestamp 得出的包含有日期信息的结合数组。如果没有给出时间戳则认为是
当前本地时间。数组中的单元如下:
1 //getdate --- 获取日期/时间信息 2 $date = getdate();//当前日期信息 3 //$date = getdate(234456768);//获取指定时间戳的日期信息 4 echo "<pre>";//格式化输出 5 print_r($date);//打印时间数组
date -- 格式化一个本地时间/日期
格式:string date ( string format [, int timestamp] )
1 返回将整数 timestamp 按照给定的格式字串而产生的字符串。如果没有给出时间戳则使用本地当前时间。换句话说,timestamp 是可选的,默认值为 time()(当前时间戳)。 2 例如: echo date(“Y年m月d日 H:i:s”); //2018年10月28日 14:22:28 3 4 **常⽤参数:** 5 **Y:四位数年 m:月01-12 n:月1-12 d:天01-31 j:天1-31 ** 6 **H:时24时制 h:小时12制 i:分钟00-59 s:秒00-59 w:星期几0-6** 7 **A:上午AM或下午PM a:上午am或下午pm。**
案例:
1 //date --- 格式化一个本地时间/日期 2 echo date("Y年m月d",time()); 3 echo date("Y/m/d",time()); 4 echo date("Y-m-d H:i:s");//不写第二个参数默认是当前时间戳
修改PHP的默认时区
修改PHP的默认时区有两种方式:
1 1、修php.ini配置文件:**date.timezone = PRC** 2 2、**date_default_timezone_set( ):** -- 设定用于一个脚本中所有日期时间函数的默认时 3 区 。 4 如:**date_default_timezone_set(“PRC”);** //中国时区。 5 3**date_default_timezone_get( ):** -
案例:
1 date_default_timezone_set('PRC');//设置中国时区 2 //date --- 格式化一个本地时间/日期 3 echo date("Y年m月d",time()); 4 echo date("Y/m/d",time()); 5 echo date("Y-m-d H:i:s");//不写第二个参数默认是当前时间戳
使用微秒计算PHP脚本执行时间
1毫秒(ms)=0.001秒(s)
1微秒(μs)=0.001毫秒(ms)
1纳秒(ns)=0.001微秒(μs)
microtime -- 返回当前 Unix 时间戳和微秒数
1 格式:mixed microtime ( [bool get_as_float] ) 2 microtime() 当前 Unix 时间戳以及微秒数。 3 如果调用时不带可选参数,本函数返回一个字符串,其中后者是哟用 Unix 纪元(0:00:00 4 January 1, 1970 GMT)起到现在的秒数,前者 是微秒部分。 5 如果给出了参数并且其值等价于 TRUE,microtime() 将返回一个截取为⼩浮点数点4带秒数为浮点数。
1 $start = microtime(true); 2 for($i=1;$i<10000;$i++) 3 $tmp = 13333/234; 4 }$end = microtime(true); 5 echo $end - $start;