PHP中設置時區的方法

  • 2017-1-13 15:19
  • PHP二次開發
  • 閱讀(1846)
  • 評論(2
  • 來源:互聯網
  • 摘要: 找到原因后,在網上搜索到了一些關于PHP的時區設置方法:1、修改php.ini,在php.ini中找到data.timezone =去掉它前面的;號,然后設置data.timezone = “Asia/Shanghai”;即可。2、在程序PHP 5以上版本的程序代碼中使 ...
    找到原因后,在網上搜索到了一些關于PHP的時區設置方法:

    1、修改php.ini,在php.ini中找到data.timezone =去掉它前面的;號,然后設置data.timezone = “Asia/Shanghai”;即可。

    2、在程序PHP 5以上版本的程序代碼中使用函數ini_set('date.timezone','Asia/Shanghai');或者date_default_timezone_set(‘Asia/Shanghai');

    一些常用的時區標識符說明:

    Asia/Shanghai – 上海
    Asia/Chongqing – 重慶
    Asia/Urumqi – 烏魯木齊
    Asia/Hong_Kong – 香港
    Asia/Macao – 澳門
    Asia/Taipei – 臺北
    Asia/Singapore – 新加坡


    函數設置時區方法:

    <?php
    function_exists(date_default_timezone_set);//在這他總是返回1,這函數是判斷這里面的字符是不是一個定義了的函數名
    date_default_timezone_set("Etc/GMT");//這是格林威治標準時間,得到的時間和默認時區是一樣的
    date_default_timezone_set("Etc/GMT+8");//這里比林威治標準時間慢8小時
    date_default_timezone_set("Etc/GMT-8");//這里比林威治標準時間快8小時
    date_default_timezone_set('PRC'); //設置中國時區
    ?>


    函數ini_set()設置時區:
    可以在文件開頭加入 ini_set('date.timezone','Asia/Shanghai'); // 'Asia/Shanghai' 為上海時區

    手動修改php.ini設置
    打開php找到date.timezone = "PRC" 如有去掉前面的分號,沒有的話手動添加!

    以下是一些資料補充:

    裝上PHP5后你會發現這樣的問題

    $atime=date("Y-m-d H:i:s");
    echo $atime;
    ?>
    輸出:2006-05-16 06:36:06
    現在幾點了?/我的是14:36
    這是為什么捏?
    原因是假如你不在程序或配置文件中設置你的服務器當地時區的話
    PHP所取的時間是格林威治標準時間,所以和你當地的時間會有出入
    格林威治標準時間和北京時間大概差8個小時左右 那么我們如何避免時間誤差呢?
    我們一起來看看解決方法:
    在頁頭使用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 參數不合法)。
    -------------------------------------------------------------------------------------
    或者修改 php.ini 中 date.timezone 值
    date.timezone = PRC

    裝上PHP5后你會發現這樣的問題
    $atime=date("Y-m-d H:i:s");
    echo $atime;
    ?>
    輸出:2006-05-16 06:36:06
    現在幾點了?/我的是14:36
    這是為什么捏?
    原因是假如你不在程序或配置文件中設置你的服務器當地時區的話
    PHP所取的時間是格林威治標準時間,所以和你當地的時間會有出入
    格林威治標準時間和北京時間大概差8個小時左右 那么我們如何避免時間誤差呢?
    我們一起來看看解決方法:
    在頁頭使用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 參數不合法)。
    -------------------------------------------------------------------------------------
    或者修改 php.ini 中 date.timezone 值
    date.timezone = PRC


    PHP技術交流QQ群:422137578

    除非注明,文章均為 PHP二次開發 原創,轉載請注明本文地址:http://www.fujvln.live/article-2552-1.html

    相關閱讀

    發表評論

    最新評論

    引用 點擊廣告賺錢   2019-4-11 09:20
    文章寫得非常好
    引用 開元棋牌   2019-4-11 09:19
    沙發

    查看全部評論(2)

    用戶名:  *

    郵 箱:  *

    網 址: 注意加上“http://”哦!