PHP的⽇期和时间
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);//获取指定时间戳的⽇期信息
4echo "<pre>";//格式化输出
5print_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 --- 格式化⼀个本地时间/⽇期
2echo date("Y年m⽉d",time());
3echo date("Y/m/d",time());
4echo 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 --- 格式化⼀个本地时间/⽇期
unix时间戳转换日期格式3echo date("Y年m⽉d",time());
4echo date("Y/m/d",time());
5echo 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] )
2microtime() 当前 Unix 时间戳以及微秒数。
3如果调⽤时不带可选参数,本函数返回⼀个字符串,其中后者是哟⽤ Unix 纪元(0:00:00
4 January 1, 1970 GMT)起到现在的秒数,前者是微秒部分。
5如果给出了参数并且其值等价于TRUE,microtime() 将返回⼀个截取为⼩浮点数点4带秒数为浮点数。1$start = microtime(true);
2for($i=1;$i<10000;$i++)
3$tmp = 13333/234;
4 }$end = microtime(true);
5echo$end - $start;
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论