簡體   English   中英

PHP日期無法獲得24位時間

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM