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

本文介绍了PHP中关于时间的处理,包括如何设置时区、计算时间差以及如何获取系统当前时间。重点讲解了时间戳与日期时间之间的转换,如date函数用于将时间戳转换为指定格式的日期,例如"Y-m-d H:i:s",而strtotime函数则用于将日期转换为时间戳。示例中展示了如何显示完整的日期时间以及仅显示日期的部分。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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"); 





评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值