我有這行代碼:PHP的日期添加一天內,從數據庫中的信息
<?= date('F dS, Y',$user_info['date_of_birth']) ?>
它得到每個用戶的UNIX的生日日期,並將其轉換在一個正常的日期。 唯一的問題是它會提前一天顯示。 例如,數據庫中的unix日期是1990年5月11日。 在視圖中,它將輸出,1990年5月10日。 您知道如何解決此問題嗎?
在此先感謝
我有這行代碼:PHP的日期添加一天內,從數據庫中的信息
<?= date('F dS, Y',$user_info['date_of_birth']) ?>
它得到每個用戶的UNIX的生日日期,並將其轉換在一個正常的日期。 唯一的問題是它會提前一天顯示。 例如,數據庫中的unix日期是1990年5月11日。 在視圖中,它將輸出,1990年5月10日。 您知道如何解決此問題嗎?
在此先感謝
要明確地回答你的問題,你可以做到以下幾點:
<?=date('F dS, Y',($user_info['date_of_birth'] + 86400))?>
其中86400是秒在一天的數量。
但是,正如其他人所建議的那樣,您可以並且應該將數據庫和Php同步到UTC/GMT時間。
對於PHP時區,執行你的腳本的頂部以下內容:
date_default_timezone_set('UTC');
對於SQL,這取決於你正在使用的數據庫(我不相信你指定你正在使用的數據庫)。
謝謝,完美的作品。我現在會看看時區! –
檢入同步您的MySQL和PHP時區。看看這個類似的問題/回答:
這可能是你在服務器上的時間錯誤。是你accesse它外殼可以通過date
命令來檢查:
[[email protected] ~]$ date
Tue Jul 5 04:17:00 UTC 2016
,如果沒有,那麼你很可能將不得不這樣做:如果你有機會到MySQL控制檯檢查
define('TIMEZONE_OFFSET', 86400);
<?=date('F dS, Y',($user_info['date_of_birth'] + TIMEZONE_OFFSET))?>
再次它的時區設置。
也可手動設置PHP defaulte時區:
date_default_timezone_set('UTC');
我想看看時區問題。 – chris85
這也許是問題所在。你知道我可以在上面的代碼行中添加一天嗎? –
不要這樣做。解決問題,以便您的時區相匹配。 – chris85