首页 > 后端开发 > PHP问题 > php 如何修改时区

php 如何修改时区

藏色散人
发布: 2023-03-17 14:48:02
原创
2794 人浏览过

php修改时区的方法:1、在配置文件中设置默认时区为东8区;2、通过代码“date_default_timezone_set('Asia/Shanghai');”设置时区;3、在PHP页面头中设置“date_default_timezone_set('PRC');”。

php 如何修改时区

本教程操作环境:Windows7系统、PHP8.1版、Dell G3电脑。

php怎么修改时区?

PHP时区设置,PHP时间问题

在web项目中很多是以时间相关的,而且有些与时间的关系非常大!前段时间做了个天气预报15天查询(http://tqybw.net)的项目,功能和展示与时间设置非常紧密,现在将PHP时区设置,PHP时间问题详细解说,对有需要的同学可以学习下!

从PHP函数中的时间函数"time()"获取的时间可能不是标准的北京时间!原因是因为:PHP中函数int time ( void )返回自从 Unix 纪元(格林威治时间 1970 年 1 月 1 日 00:00:00)到当前时间的秒数。

每个地区都有自己的本地时间,在网上以及无线电通信中,时间的转换问题就显得格外突出。整个地球分为二十四个时区,每个时区都有自己的本地时间。在国际无线电或网络通信场合,为了统一起见,使用一个统一的时间,称为通用协调时(UTC,Universal Time Coordinated),是由世界时间标准设定的全球标准时间。UTC原先也被称为格林威治标准时间(GMT,Greenwich Mean Time),都与英国伦敦的本地时间相同。

PHP默认的时区设置是UTC时间,而北京正好位于时区的东八区,领先UTC八个小时。所以在使用PHP中像time()等获取当前时间的函数时,得到的时间总是不对,表现是和北京时间相差八个小时。如果希望正确的显示北京时间,就需要修改默认的时区设置,可以通过以下两种方式完成。

如果使用的是独立的服务器,有权限修改配置文件,设置时区就可以通过修改php.ini中的date.timezone属性完成。我们可以将这个属性的值设置为"Asia/Shang"、"Asia/Chongqing"、"Etc/GMT-8"或PRC等中的一个,再在PHP脚本中获取的当前时间就是北京时间。修改PHP的配置文件如下所示:

1.date.timezone = Etc/GMT-8

//在配置文件中设置默认时区为东8区(北京时间)

如果您使用的是共享服务器,没有权限修改配置文件php.ini,并且PHP版本又在5.1.0以上,也可以在输出时间之前调用 date_default_timezone_set()函数设置时区。该函数需要提供一个时区标识符作为参数,和配置文件中date.timezone 属性的值相同。该函数的使用如下所示:

2.在代码中设置时区

date_default_timezone_set('Asia/Shanghai');//'Asia/Shanghai' 亚洲/上海
date_default_timezone_set('Asia/Chongqing');//其中Asia/Chongqing'为“亚洲/重庆”
date_default_timezone_set('PRC');//其中PRC为“中华人民共和国”
登录后复制

注意:以上3种方法,任意一个都可以满足我们需求。

3.echo date('Y-m-d H:i:s', time()); //输出的当前时间为北京时间

在 php.ini 中,默认是 date.timezone = UTC。修改为中国时区,修改为 date.timezone = PRC。如果直接写 GMT 格式的,是 date.timezone = Etc/GMT 8。

另外,也可以在 PHP 页面头中设置。

date_default_timezone_set('PRC');
登录后复制

测试:

echo date('Y-m-d H:i:s');
登录后复制

推荐学习:《PHP视频教程

以上是php 如何修改时区的详细内容。更多信息请关注PHP中文网其他相关文章!

相关标签:
来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板