2011-02-03 278 views
4

將MySQL日期時間轉換爲Unix時間戳時,我對時區差異感到困惑。在我看來,MySQL日期時間(2011-02-07 09:45:00)在服務器的本地時區。我想把這個日期時間轉換成一個Unix時間戳,它總是在GMT時區。爲了完成這種轉換,PHP將日期時間傳遞給strtotime。日期時間字符串不包含時區,所以strtotime會假設參數是本地時區還是GMT?PHP將MySQL日期時間轉換爲Unix時間戳

回答

5

strtotime函數將假定datetime在服務器的本地時區中。

1

爲什麼不使用MySQL的UNIX_TIMESTAMP()函數?

+0

因爲運行在服務器上的項目和服務器位於兩個不同的時區。引用服務器時區會給網站用戶提供錯誤的數據。我使用了php的date_default_timezone_set('XXX');更改網站的默認時區。 – Cassandra 2015-02-12 01:07:30