[英]php date can't get 24 digit time hour
我正在使用日期函數$now=date("Ymd H:i:s");
在php 5.6.30中,瀏覽器輸出為string(19) "2017-04-21 02:54:54"
,這是異常的。
php.ini設置為date.timezone = PRC
Centos 7系統時間:
[root@localhost sync]# date Fri Apr 21 14:53:20 CST 2017
當我在同一系統中安裝PHP 7.0.16時,php.ini具有相同的配置,但date函數中的date輸出正常(24位時間)。 為什么會發生這種情況,以及如何讓日期正常運行。
這是一個時區問題。
在php.ini中,您設置了時區PRC
(中國),但是系統時間輸出給出了CST
(美國)的時間。
換句話說:您的PHP代碼確實為您提供24小時格式,但是在不同的時區中, 實際上是02:54:54
如果您需要獲取其他時區(例如UTC
)中的時間,則可以這樣設置:
date_default_timezone_set('UTC');
如果您需要其他本地時區,則可以在PHP文檔中的受支持時區列表中了解可能的值。
在日期時區嘗試以下代碼
<?php
date_default_timezone_set('Asia/Shanghai');
echo date("Y-m-d H:i:s");
?>
我將代碼添加到php.ini date.timezone = Asia/Shanghai
,並安裝chrony並啟動它以進行同步。 有用。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.