- 要取得使用者目前所在的時區
- 要能使用者各自有各自的時區
- 使用者之間不能互相影響
- php.ini中設定date.timezone
- Function: date_default_timezone_set
再來要取得目前使用者時區,看了不少方式,都是取得目前系統時間再做差異比較,不過這方式很多細節要處理,最後找到這個jsTimezoneDetect,很容易使用,程式碼如下:
var timezone = jstz.determine(); function get_user_timezone(target) { if( target != null && target.length != 0 ) target.val(encodeURI(timezone.name())); return timezone.name(); }
要注意的是,不能在function中使用,宣告的變數要在最外頭,也不能放在jQuery.ready裡頭,jstz才可以存取到。
這樣就可以利用get_user_timezone取得時區名稱,如:Asia/Taipei。jstz會幫忙做轉換,也會計算日光節約時間等,省掉不少麻煩。
相關函式庫:
jsTimezoneDetect
tamaspap/timezones
jquery.detect_timezone
參考網址:
How to get client's timezone?
Get user's timezone using javascript/jQuery and PHP
PHP5 time zone solution
Auto-detecting user's timezone
List of Supported Timezones
Getting the Time Zone from a Web Browser
Detect user timezone using javascript
How to initialize javascript date to a particular timezone
Generating a drop down list of timezones with PHP
IANA - Time Zone Database
Date/Time based on user's location
查詢時間、請輸入國家、地區或主要城市的中文或英文名稱
Time Zones
沒有留言:
張貼留言