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

Posted 佰草伐

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了PHP日期和时间函数之系统时区设置相关的知识,希望对你有一定的参考价值。

了解一下时区

 

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

?>

以上是关于PHP日期和时间函数之系统时区设置的主要内容,如果未能解决你的问题,请参考以下文章

为日期/时间函数设置默认时区(PHP5.3兼容性要求)

php间隔和时区

MySQL常用日期时间函数

linux系统下,php设置时区和调用时间函数问题,服务器是nginx.

SQL 基础之时区函数(二十一)

PHP中如何给日期加上一个月 加一周