2012-08-07 24 views

回答

2

有兩種方法可以做到這一點。最明顯的方法是使用JavaScript,因爲它生活在客戶端。另一種方式是讓用戶在註冊您的網站時指定他們的時區,然後您可以根據GMT進行一些後端操作以獲取他們訪問的實際時間。這當然存在用戶可能放錯時區的缺陷。

+0

「用戶可能放錯時區」當然,但他/她爲什麼要這樣做呢?計算他們腦海中的任何時間? – feeela 2012-08-07 12:34:55

+0

@feeela如果有默認的選擇,比如GMT -4,那麼很可能大部分用戶的GMT -4都是他們的時區。 – Woot4Moo 2012-08-07 12:36:51

+0

這是可能的,而不是你的問題,但用戶之一。默認本身應該是UTC。 – feeela 2012-08-07 12:39:51

0

2解決方案

  1. 您可以嘗試使用JavaScript - 並使用Ajax發送到您的腳本,但它不是100%準確。
  2. 你可以使用GeoIP,然後匹配它來查看他的時區。
+0

你的第二個選擇是不是使用JS,特別是如果你使用的是一些免費(不收費),數據庫甚至不太準確。 – feeela 2012-08-07 12:33:38

+0

我沒有說它是免費或付費的......但更準確的說是Javascript - 因爲它不依賴於瀏覽器/ PC。 – 2012-08-07 12:34:56

+0

您曾經使用過GeoIP嗎?結果根本不準確。我試圖解決的大部分知識產權問題都是在幾百公里外的情況下完成的,但有些甚至距離他們居住在不同的時區。此外,GeoIP數據每隔幾個月需要更新一次。沒有什麼我會依賴的。 – feeela 2012-08-07 12:38:48

1

這是不可能單獨使用PHP。但是您可以通過JS設置GET參數給用戶當前的時間戳,並將差異與服務器上生成的時間戳進行比較。這樣你計算你的服務器和你的客戶端之間的時區差異。

+0

它可以使用PHP。 GeoIP的! – 2012-08-07 12:33:49

相關問題