嗨Stackfriends = P 我知道的時間()和日期()功能, 但我想實現的是,來自中國的用戶比來自法國的用戶獲得另一個時間顯示。 我無法使用JavaScript,因爲我也使用本地時間進行一些計算。PHP用戶當地時間
回答
有兩個很好的解決方案:
- 詢問他的時區的用戶;根據您的大部分用戶來自和/或通過JavaScript檢測到的本地時區預先選擇一個默認地區
- 只需在您的網站上使用UTC(GMT)即可。
顯然它很大程度上取決於您的網站哪個選項是合適的。在一個類似於stackoverflow選項2的網站上使用並且最有意義,因爲有各種各樣的以日爲基礎的事件,因此所有用戶需要同時更改這些日期。
一種方法是使用類似IP to City database from MaxMind的東西 - 這可以爲用戶IP地址提供一個時區。
另外,只要詢問用戶他們喜歡什麼時區,並在cookie或會話變量中記住它。
這太不可靠了...... – SuperSpy 2011-01-23 14:06:28
不確定爲什麼可靠性應該成爲您提到的用例的一個問題。您可以在99%的時間內通過猜測自己的時區來取悅用戶,剩下的時間讓他們調整。 – 2011-01-23 17:10:06
雖然我從來沒有使用它,但似乎有一些功能可以讓您設置時區和其他日期功能,以告訴您當前時區設置和GMT之間的區別。這些可能會幫助你。
唯一令應該從使用JavaScript停止你的是如果)你只是服務的API,並有超過網頁內容沒有控制權;或者b)客戶端已經阻止了javascript。通過JavaScript是最可靠的方法,簡單地提示用戶輸入他們的時區。
Cookie或ajax將工作。對於容易cookie的方式,把這個中的JavaScript功能頭部分的任何頁面上添加一個cookie ...
<script>
d = new Date;
gmtoffset = d.getTimezoneOffset()/60;
document.cookie = 'gmtoffset=' + gmtoffset;
</script>
然後在你的PHP腳本,閱讀$_COOKIE['gmtoffset']
得到他們的時區相對於GMT。
恕我直言,客戶的時間w /時區應該已經是行業範圍的標準請求標題。
編輯:刪除「過期」從餅乾例如日期,因爲它可能1月1日以後產生的問題,2012年
我用過你的代碼,在我的腳本的另一部分。謝謝! – SuperSpy 2011-01-23 14:22:07
- 1. 向用戶顯示當地時間? PHP
- 2. PHP UTC到當地時間
- 3. UTC到用戶的當地時間
- 4. C#UTC到用戶當地時間
- 5. 獲取2當地時間爲用戶
- 6. PHP 5.2.17:當地時間轉換爲GMT和GMT本地時間
- 7. flask:將utc時間轉換爲用戶的當地時間
- 8. PHP當地時間的日期
- 9. PHP - 如何獲得當地時間?
- 10. 使用時區格式化時區到當地時間PHP
- 11. NSDate比用戶當地時間晚一小時
- 12. 管理用戶的時區和當地時間
- 13. 如何從用戶當地時間減去2小時?
- 14. PHP當地時間轉換爲UTC時間考慮夏令
- 15. 當前時間PHP
- 16. 將另一個時區的時間換算爲當地時間當地時間
- 17. 轉換時間到csv當地時間
- 18. 從CET時間爲當地時間
- 19. 當地時間到UTC時間pytz
- 20. Twitter時間到當地時間c#
- 21. 轉換GMT時間爲當地時間
- 22. Json utc時間到當地時間
- 23. 轉換EST時間到當地時間
- 24. 如何根據用戶的當地時間顯示不同的時間?
- 25. 將時間戳從數據庫轉換爲用戶的當地時間
- 26. 網絡門戶:當地時間有用嗎?
- 27. 根據用戶當地時間更改身體類別
- 28. Twitter API - 使用PHP確定當地時間
- 29. 如何使用PHP顯示當地時間
- 30. PHP時間戳日至用戶時區
Java腳本與否,你不能相信來自客戶端的數據。 – Mikk 2011-01-22 20:57:08