php中跟时间有关的处理(时区设置,计算时间差,获取系统当前时间)

1、修改时区
背景 :保存到Navicat中的时间和本地系统时间相差8小时
原因:在app/config下的app.php中有一行
['timezone' => 'UTC',}
规定的是时区默认是UTC ,即 协调世界时,又称世界统一时间、世界标准时间、国际协调时间。 ]规定的
然而:中国大陆、中国香港、中国澳门、中国台湾、蒙古国、新加坡、马来西亚、菲律宾、西澳大利亚州的时间与UTC的 时差 均为+8,也就是UTC+8。

解决方法:
将app/config/app.php文件中的
'timezone' => 'UTC',
改为
'timezone' => env( 'TIMEZONE' , 'UTC' ),
即读取.env文件里的配置
同时在.env文件中加入这一行
TIMEZONE=Asia/Shanghai


或者 'timezone' =>'PRC', PRC(称,北京时区)。
2、获取系统当前时间
date ( "Y-m-d H:i:s" )

3、获取系统当前时间戳
strtotime ( "now" )

4、计算时间差

$diff = strtotime ( "now" )- strtotime ( $data );

$duration = $diff /( 60 ); //得到的时间差是以分钟为单位
$duration = $diff /( 60*60 ); //得到的时间差是以小时为单位
$duration = $diff /( 60*60*24 ); //得到的时间差是以天为单位

5、时间戳和日期时间相互转换

时间戳转换成日期:

date("Y-m-d H:i:s",time()),"Y-m-d H:i:s"是转换后的日期格式,time()是获得当前时间的时间戳。

如果是date("Y-m-d H:i:s",time()),则小时分秒一起显示;

如果是date("Y-m-d ", time()),只显示年月日。

日期转换成时间戳:strtotime

如:strtotime("today"); 





你可能感兴趣的:(PHP-Laravel,php,laravel,时间处理,设置时区,获取系统当前时间)