2014-02-23 29 views
0

php的時間()在WordPress內調用時奇怪地輸出錯誤。在wordpress內調用時輸出錯誤

我很確定我的服務器時間設置正確Linux Linux & PHP。 我的正確時區是UTC + 2。例如,讓我們說的時間是10:50 的Linux時間:10:50 PHP運行時間():10:50 內WP時間():8:50

在WP我的時區設置也正確設置爲歐洲。我想知道爲什麼會發生任何想法?

下面是截圖(不介意之間採取分鐘截圖):http://s29.postimg.org/4s80u06nb/wptimmm.jpg

PS:我會避免這種混淆使用$now = current_time('timestamp', 0);但我不希望每次運行一個額外的功能這麼簡單的事。

+0

那麼..如果你的服務器時鐘是正確的,WP是錯誤的,我會說它是一個WP問題。 – Lix

+0

是的,但我想知道這可能是什麼。因爲有趣的是,我的WP插件正確顯示時間 - UTC + 2。但是,當我在我的主題的functions.php中調用time()時,我得到了UTC。 –

+0

JavaScript將在客戶端時區顯示時間 - 也許這是缺失的鏈接。 – Lix

回答

1

在輸出時間()之前,先添加一個date_default_timezone_set聲明。這將首先確認您是否設置了正確的時區,然後通過您之前的時區聲明讓您知道該時間()IS

+0

感謝您的提示。它可能工作,但我討厭每次都添加。我寧願找到一個實際的整體解決方案。 –

+0

我的建議會幫助你調試。 a)time()沒有看到你的第一個時區設置,或者b)你的時區設置沒有正確配置(錯誤的,註釋掉等)。 –

+0

似乎這是WP將時區設置爲UTC的默認行爲,無論您選擇何種方式。我想除了用current_time('timestamp',0)獲取時間戳以外,沒有別的選擇。 –

0

一切看起來都很好。您正試圖比較兩個不同時區的時間。

EET = UTC + 2h在你的情況。

所以,如果你想在少數地方有相同的時間,你需要爲它們全部使用公共時區。

+0

不是。我期望time()在WP中輸出10:50。相反,它輸出8:50。我不知道是什麼原因導致WP輸出UTC的時間()時,我的時間設置爲UTC + 2無處不在 –

0

Wordpress將date_default_timezone_set設置爲UTC。從wordpress(wp-settings.php)中更改該設置。

+0

謝謝,但這似乎也有問題:http://weston.ruter.net/2013/04/02/do - 未變化最默認時區從 - UTC-在-的wordpress / –

相關問題