zoukankan      html  css  js  c++  java
  • PHP获取时间比实际时间少8小时的问题

    有两方法 

    1、我们写PHP程序在获取时间时,人为加上8小时(这种方法是最实用也是最土的方法) 

    2、如果直接获取正确时间,也可修改PHP的配置文件,即查找php.ini文件 修改方法:在php.ini文件中找到下面这行: ;date.timezone = 将上面这行的;注释符去掉,后面加上PRC(中国人民共和国的英文单词缩写),即改成下面这样: date.timezone = PRC 如果php.ini文件中没有上面这行,直接加上就行了

    从php5.10开始,php中加入了时区的设置,在php中显示的时间都是格林威治标准时间,这就造成了我们中国的用户会差八个小时的问题!
    相关设置是修改php.ini中的 date.timezone 参数:
    [Date]
    ; Defines the default timezone used by the date functions
    ;date.timezone =

    默认是关闭的,只需把注释去掉,改为即可
    [Date]
    ; Defines the default timezone used by the date functions
    date.timezone = PRC

    其中PRC是“中华人民共和国”!
    其他选项可以参考php手册。

    如果没有修改php.ini的权限,只需要在调用时间日期函数的时候,调用 date_default_timezone_set(’PRC’) 即可!
    也可以调用date_default_timezone_get()来查看当前的时区设置!

    關於XXX,大陸內地可用的值是:
    Asia/Chongqing ,Asia/Shanghai ,Asia/Urumqi (依次為重慶,上海,烏魯木齊)
    港台地區可用:Asia/Macao ,Asia/Hong_Kong ,Asia/Taipei (依次為澳門,香港,台北)
    台灣地区可設為:date.timezone = "Asia//Taipei"
    還有新加坡:Asia/Singapore


    PHP5中的时间相差八小时的解决办法


    安装好php5后,在论坛不经意间,在论坛上看到有人说php5.1.2的时间显示整整少8个小时,
    <?php
        echo date("Y-m-d H:i:s");
    ?>
    结果自己测试果然是相差8小时。
       
       后来经过在论坛上找资料,结果终于解决,在php5以及起以上的版本,要输出本地的时间(限中国),可以这么写代码:
    <?php
       date_default_timezone_set('Asia/Shanghai');
       echo date('Y-m-d H:i:s');
    ?>

    也可以这样写代码:
    <?php
       date_default_timezone_set('Asia/Chongqing');
       echo date('Y-m-d H:i:s');
    ?>

  • 相关阅读:
    [java学习]java聊天室通信原理
    竖变横表存储过程(万能型)
    到底是什么(反射,泛型,委托,泛型)
    删除表里重复记录两种方法
    三个SQL视图查出所有SQL Server数据库字典
    三种分页语句
    DBHelper
    SQL全局变量
    今天比较STRING和INT,很奇怪
    表之间数据交换与翻页存储过程
  • 原文地址:https://www.cnblogs.com/maidongdong/p/10724353.html
Copyright © 2011-2022 走看看