• 技术文章 >后端开发 >php教程

    [转载]关于php时区时间异常有关问题

    2016-06-13 10:41:02原创383
    [转载]关于php时区时间错误问题

    关于php时区时间错误问题??

    http://czy4411741.blog.163.com/blog/static/342031272008123115233915/

    从php5.1.0开始,php.ini里加入了date.timezone这个选项,默认情况下是关闭的

    也就是显示的时间(无论用什么php命令)都是格林威治标准时间

    和我们的时间(北京时间)差了正好8个小时,有以下3中方法可以恢复正常的时间。

    1,最简单的方法就是不要用php5.1以上的版本

    2,如果一定要用,而且不能修改php.ini,则需要在关于时间的初始化的语句的

    上面加上 date_default_timezone_set (XXX);

    cp无此问题

    3,一劳永逸,仅限能修改php.ini。打开php.ini查找date.timezone 去掉前面的分号

    = 后面加XXX,重启http服务(如apache2或iis等)即可

    关于XXX,大陆内地可用的值是:Asia/Chongqing ,Asia/Shanghai ,Asia/Urumqi (依次为重庆,上海,乌鲁木齐)

    港台地区可用:Asia/Macao ,Asia/Hong_Kong ,Asia/Taipei (依次为澳门,香港,台北)

    还有新加坡:Asia/Singapore

    老外好像把北京漏调了

    其他可用的值是:Etc/GMT-8 ,Singapore ,Hongkong ,PRC

    PRC是什么?PRC是中华人民共和国啊-_-

    ---------------------------------------------

    解决方式:

    在页头使用date_default_timezone_set()设置我的默认时区为北京时间

    date_default_timezone_set('PRC');

    echo date('Y-m-d H:i:s');

    时间和服务器当前时间一样了!!祝贺之

    ?

    附date_default_timezone_set用法如下

    ?

    --------------------------------

    date_default_timezone_set

    (PHP 5 >= 5.1.0RC1)date_default_timezone_set -- 设定用于一个脚本中所有日期时间函数的默认时区

    说明

    bool date_default_timezone_set ( string timezone_identifier )

    date_default_timezone_set() 设定用于所有日期时间函数的默认时区。

    ?

    ?

    注: 自 PHP 5.1.0 起(此版本日期时间函数被重写了),如果时区不合法则每个对日期时间函数的调用都会产生一条 E_NOTICE 级别的错误信息。

    ?

    参数

    ?

    ?

    timezone_identifier

    ?

    时区标识符,例如 UTC 或 Europe/Lisbon

    ?

    返回值

    本函数永远返回 TRUE(即使 timezone_identifier 参数不合法)。

    ------------------------------------------------------

    再附上时区标识符:

    CET

    CST6CDT

    Cuba

    EET

    Egypt

    Eire

    EST

    EST5EDT

    Etc/GMT

    Etc/GMT+0

    Etc/GMT+1

    Etc/GMT+10

    Etc/GMT+11

    Etc/GMT+12

    Etc/GMT+2

    Etc/GMT+3

    Etc/GMT+4

    Etc/GMT+5

    Etc/GMT+6

    Etc/GMT+7

    Etc/GMT+8

    Etc/GMT+9

    Etc/GMT-0

    Etc/GMT-1

    Etc/GMT-10

    Etc/GMT-11

    Etc/GMT-12

    Etc/GMT-13

    Etc/GMT-14

    Etc/GMT-2

    Etc/GMT-3

    Etc/GMT-4

    Etc/GMT-5

    Etc/GMT-6

    Etc/GMT-7

    Etc/GMT-8

    Etc/GMT-9

    Etc/GMT0

    Etc/Greenwich

    Etc/UCT

    Etc/Universal

    Etc/UTC

    Etc/Zulu

    Factory

    GB

    GB-Eire

    GMT

    GMT+0

    GMT-0

    GMT0

    Greenwich

    Hongkong

    HST

    Iceland

    Iran

    Israel

    Jamaica

    Japan

    Kwajalein

    Libya

    MET

    MST

    MST7MDT

    Navajo

    NZ

    NZ-CHAT

    Poland

    Portugal

    PRC

    PST8PDT

    ROC

    ROK

    Singapore

    Turkey

    UCT

    Universal

    UTC

    W-SU

    WET

    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
    专题推荐:GMT Etc timezone default date
    上一篇:PHP简略源码学习 下一篇:自己动手写 PHP MVC 框架(40节精讲/巨细/新人进阶必看)

    相关文章推荐

    • 深入了解PHP:用gdb调试源码• 实例介绍:使用Docker快速搭建多版本PHP开发环境• 实例详解PHP统计代码行数及文件数量的方法• PHP常用开发工具分析_PHP教程• ZEND将与IBM合作开发PHP IDE/Framework_PHP教程
    1/1

    PHP中文网