datetimezonephp
A. 為什麼在php.ini中設置了date.timezone = PRC 後時區仍然出錯
修改php。ini之後要重啟伺服器才生效或者用php函數強制定義date_default_timezone_set('PRC');
B. 為什麼php.ini設置date.timezone = Asia/Shanghai不起作用
Asia/Shanghai使用xampp時間不久,今天為了糾正php獲取函數是獲取伺服器時間。因為php5.1.0開始,php.ini里加入了date.timezone這個選項,默認情況下是關閉的。顯示的時間都是格林威治標准時間,和北京時間差了正好8個小時。網上找到的方法:修改php.ini文件,查找;date.timezone=,把前面的分號去掉在「=」後面加上時區。比如:Asia/Chongqing(重慶),Asia/Shanghai(上海),Asia/Urumqi(烏魯木齊),Asia/Macao(澳門),Asia/Hong_Kong(香港),Asia/Taipei(台北),PRC例;date.timezone=改成:date.timezone=Asia/Shanghai
C. 如何設置php的date.timezone
設置timezone有兩種方法.這里假設要將時區改為適用於中國的,那麼: 一種是直接改配置文件: 在php.ini文件中找到 ;date.timezone去掉前面的分號,改成 date.timezone=PRC(如果在php.ini裡面找不到date.timezone,可以直接加一行date.timezone=PRC..
D. php中如何獲得當前時間
一、使用函式 date() 實現
在編輯器中輸入<?php echo $showtime=date("Y-m-d H:i:s");?>,點擊回車就可以得知當前的時間。其中Y是代表4位的年份,H是24小時制,i 是分鍾,如: "00" 至 "59" 。s -是秒,如: "00" 至 "59" 。
d 是幾日,二位數字,若不足二位則前面補零。 如: "01" 至 "31" 。m代表月份,二位數字,若不足二位則在前面補零,如: "01" 至 "12" 。
二、使用time函數
在編輯器中輸入echo date("y-m-d",$time)點擊回車就可以得知當前的時間,其中Y是代表4位的年份,m代表月份,二位數字,若不足二位則在前面補零,如: "01" 至 "12" 。d 是幾日,二位數字,若不足二位則前面補零。 如: "01" 至 "31" 。
三、使用strftime函數
在編輯器中輸入echo strftime ("%hh%m %a %d %b" ,time());點擊回車就可以得知當前的時間。
(4)datetimezonephp擴展閱讀:
Date/Time 函數
一、time — 返回當前的 Unix 時間戳
二、timezone_abbreviations_list — 別名 DateTimeZone::listAbbreviations
三、timezone_identifiers_list — 別名 DateTimeZone::listIdentifiers
四、timezone_location_get — 別名 DateTimeZone::getLocation
五、date — 格式化一個本地時間/日期
六、getdate — 取得日期/時間信息
七、gettimeofday — 取得當前時間
八、gmdate — 格式化一個 GMT/UTC 日期/時間
九、gmmktime — 取得 GMT 日期的 UNIX 時間戳
E. 怎樣設置PHP的timezone
設置timezone有兩種方法.這里假設要將時區改為適用於中國的,那麼:
一種是直接改配置文件:
在php.ini文件中找到
;date.timezone
去掉前面的分號,改成
date.timezone=PRC
(如果在php.ini裡面找不到date.timezone,可以直接加一行date.timezone=PRC 亦可)
第二種是在php代碼里加入這句:
date_default_timezone_set('PRC');
F. PHP用date轉換時間出現時間不正確。在配置文件php.ini設置了date.timezone = Asia/ShangHai還是一樣。
我是用的xampp繼承環境,問題和上面一樣,時區不正確。
解決:1.在php文件夾里的php.ini設置date.timezone=PRC或者date.timezone = Asia/ShangHai (失敗)
2.在apache里的httpd.conf文件里設置PHPIniDir,重啟apache時失敗,原因是php和apache版本不一樣,由於是集成環境就沒去匹配了。只好刪除PHPInidir,重啟apache成功(失敗)
3.在php.ini文件里查找date.timezone,除了我上面改的那兒之外,繼續查找下一個,發現後面還有一個date.timezone,修改成PRC後,重啟apache後時區正確(成功)
說明:問題出在php.ini裡面不只一處有timezone,後面還有一個timezone,改最後面的才有用,或者兩處都改。如圖:
G. 怎樣設置PHP的timezone
設置timezone有兩種方法.這里假設要將時區改為適用於中國的,那麼:
一種是直接改配置文件:
在php.ini文件中找到
1
;date.timezone
去掉前面的分號,改成
1
date.timezone=PRC
(如果在php.ini裡面找不到date.timezone,可以直接加一行date.timezone=PRC 亦可)
第二種是在php代碼里加入這句:
1
date_default_timezone_set('PRC');
H. php date.timezone = Asia/Shanghai ,設置 了,為什麼還是差8個小時
差了8個小時,應該是配置沒有生效。
web目錄下加一個i.php 輸出一下phpinfo() 看裡面實際用到的php.ini 跟你改那個是否是同一個
如果是同一個文件,確保相關的應用重啟過以載入新配置,比如:apache 或 php-fpm 具體看你的伺服器配置,實在不行,重啟伺服器
還不行就手動檢查 伺服器上的時間,看時間是否有問題
如果沒有許可權修改php.ini 可以在公共代碼的起始位置手動設置時區
date_default_timezone_set('Asia/Shanghai');
PHP支持的所有時區列表
I. php語言中時區設置的方法有哪些
php程序的時區設置是web伺服器安裝的時候應該設置好的,但是如果你把網站放到國外的話,一般環境默認的是當地的時區,而你網站內容需要顯示的是我們國內的時區,這時候就應該修改設置下時區了,下面介紹幾種PHP設置時區的幾種方法:
1、修改PHP.ini設置時區
在php.ini文件中找到date.timezone這行,去掉前面的分號,改成:
date.timezone = Asia/Shanghai
2、修改 .htaccess文件設置時區
修改.htaccess文件有兩種辦法,下面的兩條語句只要有一條即可
php_value date.timezone Asia/Shanghai
SetEnv TZ Asia/Shanghai
3、修改PHP代碼設置時區
也是下面的兩條語句只要其中的一句即可
date_default_timezone_set(『Asia/Shanghai』);
ini_set(『date.timezone』,'Asia/Shanghai』);
通過上面的設置修改,一般就可以設定會我們國內的時區,顯示正確的時間了。