首页  >  文章  >  后端开发  >  PHP日期和时间函数之系统时区设置

PHP日期和时间函数之系统时区设置

怪我咯
怪我咯原创
2017-04-16 11:18:053857浏览

了解一下时区

整个地球的时区总共划分为24个时区,它们是中时区(零时区)、东1-12区,西1-12区。在每个时区都有自己的本地时间,而且,在同一个时间,每个时区的本地时间会相差1-23个小时,不我们经常说的就是,我们中国这里是白天,而美国那里是夜晚。这就是时区的不同,形成的时间差。例如,英国伦敦的本地时间与我们中国北京的本地时间相差8个小时,在国际无线电通信领域,使用一个统一的时间,我们称为通用协调时间(Universal Time Coordinated)简称UTC,UTC与格林威治标准时间(Greenwich Mean Time ,简称GMT)相同,都与英国伦敦的本地时间相同。

怎么设置时区

在PHP5.0的时候,对date()函数进行了重写,所以,目前的时间日期比系统时间少8个小时,在PHP中,默认的时间是格林威治标准时间,也就是采用的是零时区,我们一般是根据北京时间来确定全国的时间,北京属于东八区,所以要获取本地当前时间必须更改PHP语言的时区设置。

在PHP中,有两种更改时区的方法

第一种:

修改php.ini文件中的设置,找打[data]下的;date.timezone = 选项,去掉前面的引号,修改为:"date.timezone = Asia/Shanghai",然后重新启动Apache服务器

第二种:

在应用程序中,需在使用时间日期函数前添加以下函数

    date_default_timezone_set(timezone);

参数timezone为PHP提供可识别的时区名称,如果时区名称无法识别,系统会采用UTC时区。在PHP手册中提供了各时区名称列表,其中,设置我国北京时间可以使用的时区包括PRC(中华人名共和国)、Asia/Chongqing(重庆)、Asia/Shanghai(上海)或者Asia/Urumqi(乌鲁木齐),这几个时区名称是等效的。

设置完成以后,date()函数就可以正常使用了,不会再有时间差的问题了。

看一下时区的例子

<?php
header("Content-type:text/html;charset=utf-8");    //设置编码
echo "UTC时间:".date("Y-m-d H:i:s")."<br>";
date_default_timezone_set("PRC");
echo "北京时间:".date("Y-m-d H:i:s")."<br>";
?>

运行的结果为:

QQ截图20170416105120.jpg

1486188938564607.gif如果将程序上传到空间中,那么对系统时区设置时,不能修改php.ini文件,只能使用date_default_timezone_set()函数对时区进行设置。


以上是PHP日期和时间函数之系统时区设置的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn