2016-04-21 74 views
-1

我在PHP中獲取用戶的本地時區時遇到了一些麻煩。 該網站必須聯繫到多個時區,因此設置靜態時區將不起作用。本地時區不正確

因此,如果我做date_default_timezone_get();它在我的時區(哥本哈根)關閉了兩個小時。

我在這裏看過Stackoverflow和谷歌,並且有很多線程可以解決這個問題,但沒有一個以簡單方便的方式解決這個問題,我的猜測是必須有一些以一種方便的方式來解決這個問題。

由於這與註冊時間使用有關,所以這很有效。到目前爲止,我只是將時區硬編碼爲哥本哈根,但由於即將啓動,因此必須獲取用戶的確切時間。

+1

這可能是因爲你的服務器位於哥本哈根以外。 – Tom

+0

這是不是很清楚你要問什麼。正如你所說的,還有很多關於檢測用戶時區的Stack Overflow問題,所以你應該使用其中的一個答案。基本上它需要Javascript,因爲它是* client *時區是相關的。我沒有看到「沒有答案很簡單,因此必須有一個簡單的方法」的邏輯。 –

回答

1

PHP無法訪問用戶的時區。您可以設想通過JavaScript獲取它,或嘗試通過geoIP對其IP地址進行嘗試,但這可能很笨重,容易出錯。

你最好的選擇,以及像Google,Facebook,Twitter等主要玩家一般採用的方法就是詢問用戶他們的時區是否必須顯示日期。有些網站也採取將日期顯示爲「5小時前」而非日期/時間的方法。