首页 > 技术文章 > PHP日期和时间函数之系统时区设置

furuihua 2019-12-30 13:54 原文

了解一下时区

 

整个地球的时区总共划分为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服务器

第二种:

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

1

date_default_timezone_set(timezone);

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

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

看一下时区的例子

1

2

3

4

5

6

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

?>

推荐阅读