2011-05-08 28 views
1

我們如何才能知道某個人從何處登錄某個特定Web應用程序的時間。動態獲取當地時間

我在開發一個內部管理系統,用於一個龐大的商業房子在php中。這家商業中心的分店遍佈世界各地。我必須確保當員工登錄到應用程序時,他或她可以看到本地時間。這必須是動態的。任何人都可以幫忙嗎?

+0

你的意思是這樣的嗎? http://www.w3schools.com/jsref/jsref_getTime.asp – 2011-05-08 07:02:12

+0

@Nick:這是PHP,而不是JavaScript! – 2011-05-08 07:03:10

+0

Davood,除非您想保留哪些員工在哪個時區的記錄,否則您需要查詢客戶端以確定他們的時鐘設置爲何。 – 2011-05-08 07:08:20

回答

1

您可以從date_default_timezone_set PHP的內置功能

+0

是的,但是他怎麼知道要設置它的區域?例如,一個客戶從印度登錄,另一個從比利時登錄......代碼是什麼樣的?請參閱@ Problematic的答案... – Konerak 2011-05-08 18:36:27

3

據我所知使用的,沒有「神奇功能」,讓您檢索通過PHP用戶的本地時間,但一對夫婦選擇你可以考慮是:

  • 使用JavaScript/AJAX從瀏覽器獲取本地時間,並將其傳遞到您的應用程序(你甚至可以將其存儲在數據庫中,這樣你只需要撥打電話一次,如果你'd like)
  • 使用地理位置服務查找用戶(近似)根據他們的IP地址定位並估算當地時區。如果您選擇此路線,請注意,IP geoloc幾乎是「最佳猜測」技術,並且可能非常不準確
  • 您也可以考慮簡單地詢問用戶他們的首選時區是什麼。這不是最好的方法,但它保證是正確的(在允許用戶選擇的誤差範圍內)
+0

最後一點可能是最好的,因爲不能保證用戶設備具有正確的時間,但用戶可能在商務旅行中穿過TZ - 因此混合的解決方案可能是最好的。 – Cups 2011-05-08 09:12:30