2014-03-28 31 views
1

我在MySql數據庫中插入了一些數據以及日期時間。當我贊同日期,它告訴我準確的時間,但是當我將其插入到數據庫然後使用下面的日期和時間插入提前2小時time.I'm,MySQL數據庫的時區問題

date('Y-m-d H:i:s'); 

我一定要改變任何設置我的cPanel?

+0

你在什麼時區? MySQL可能會正常化UTC的時間,否則正常化時區 –

+0

@JamesPalawaga我在迪拜/亞洲,但我有來自不同國家的用戶。我不能設置任何具體的時區 – Arif

+0

你會想要存儲所有的您在數據庫中使用UTC的時區,然後將這些值轉換爲輸出中用戶的正確時區。 –

回答

2

只需設置date_default_timezone_set('America/Los_Angeles');在你的配置文件中。可能你的時區是錯誤的。按照您所在地區的正確方式更改'America/Los_Angeles'。 通過配置文件我的意思是任何文件,你集中你的配置,幷包含之前的任何其他代碼。

+0

在這種情況下,它將進入Lonsangles時間,但我有來自不同國家的用戶 – Arif

+0

在這種情況下,您可以將UTC設置爲'date_default_timezone_set('UTC');'並通知用戶它是UTC時間日期。 – Zini

+0

通過告知用戶,我的意思是做這樣的事情:'date('Y-m-d H:i:s')'。 UTC';'不寫數據明示。 – Zini

0

請注意,MySQL安裝可以選擇自己的非UTC時區*,因此請儘量避免混合使用MySQL的PHP​​時間()和時間。如果仔細地將日期/時間存儲爲PHP時間戳(整數),則可以按照每個用戶的本地時區和本地格式設置進行格式設置。

  • 我的加利福尼亞州的主機使用UTC作爲PHP和PST作爲MySQL時間戳。