2012-02-23 31 views
1

我有一個從sql數據庫檢索的php頁面上的時間列表。固定(MySQL)時間轉換爲客戶端時間

所有我想要做的就是根據客戶端和服務器時間之間的偏移量,不管客戶端在世界的什麼地方都有時間變化。

因此,客戶在世界上的地位將影響他看到的次數。

+0

舉個例子.. – dynamic 2012-02-23 11:43:34

回答

0

如果您想在用戶的時區中顯示時間,則需要知道她在哪個時區。例如,通過她設置的選項/偏好設置。

那段時間通常被稱爲「當地時間」。

然後你需要知道你在哪個時區存儲了數據庫中的值。經常選擇UTC,那就是「祖魯時間」。

從數據庫(zulu)中檢索時間時,根據用戶首選項(本地)轉換時區。就是這樣。

0
  1. 使用請參閱Geo IP模塊與他的IP(geoip_record_by_name()然後geoip_time_zone_by_country_and_region()),以確定你的客戶時區。使用date_default_timezone_set()來設置PHP腳本的時區。它將使日期函數轉換爲正確的時區,但是您需要將日期定爲MySQL的TIMESTAMP(對於SELECT UNIX_TIMESTAMP(date) FROM table,這很容易完成)。
  2. 或者,您可以看看MySQL的TIMESTAMP類型,並告訴他在執行轉換(在查詢之前執行SET time_zone = [timezone])。這需要一些服務器配置。