php获取时间问题,用默认配置读到本地时间。。。。。

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了php获取时间问题,用默认配置读到本地时间。。。。。相关的知识,希望对你有一定的参考价值。

用date获取到时间有8小时时差

  因为php用date获取到的是格林威治时区的时间,而大陆时间和格林威治时间有8个小时时差,所以。。。。

     修改:网上有各种修改方式:

  比如:在程序中添加时间的初始化的语句的 即:“date_default_timezone_set("Asia/Shanghai"); ”这个可以由程序员任意设置。 

     时区标识符

      大陆内地可用的值是:PRC,Asia/Chongqing ,Asia/Shanghai ,Asia/Urumqi (依次为中国,重庆,上海,乌鲁木齐) ,Etc/GMT-8,Asia/Harbin

      港台地区可用:Asia/Macao ,Asia/Hong_Kong ,Asia/Taipei (依次为澳门,香港,台北)还有新加坡:Asia/Singapore 

    但是这样修改的缺点:要是你做的产品也要卖向海外的话,那就悲剧了。。。

 

          还有一种方式是修改服务器的php.ini文件。即:打开php.ini 查找 date.timezone 去掉前面的分号, = 后面加要设置的时区,重启apache服务器即可

 

然后问题来了:之前的php.ini的配置是默认配置,即应该获取的格林威治时间,(与大陆有8个小时时差),但是实际上却获取的是本地时间。。。

    然后重新设置系统时间为默认时间,获取的又是的格林威治时间;

    然后将时区为格林威治时区的时间设置为本地时间  --  得到本地时间

    然后再将时区为格林威治时区的时间设置为08:00 -- 得到08:00

    。。。

    然后就明白了,这个date获取的格林威治时间是系统设置的格林威治时间。。。。。。

 

以上是关于php获取时间问题,用默认配置读到本地时间。。。。。的主要内容,如果未能解决你的问题,请参考以下文章

如何配置 Laravel mail.php 以使用内置邮件功能?

PHP入门日期和时间

在PHP中获取本地机器IP地址[重复]

使用 PHP 从保存在本地的 GeoIP 数据库中获取数据

为 PHP 设置 Apache 时遇到问题

PHP 网站如何修改默认访问文件的nginx配置