我想顯示格林威治標準時間基於國家。如果假設,來自印度的一些用戶註冊到我的應用程序中,我應該將格林尼治標準時間GMT +5附加到我的數據庫中。如果假設,來自法國的其他一些用戶註冊到我的應用程序中,我應該將格林尼治標準時間GMT + 1加入我的數據庫中。如何顯示格林威治標準時間基於國家在php
回答
如果你想這樣做在PHP中,你需要地理位置這一點。有兩種方法:自制方式或API方式。取決於你想要的分辨率,事情可能會有所不同。請記住,這不會神奇地檢測代理。取捨之間的效率和家務之間。
家釀
拿起地理位置DB和查詢它的IP子集,它會給你的國家。保留國家時區列表。這是一個痛苦,這就是爲什麼我不會給它代碼。
API
這一個很簡單:
<?php
$geoloc = file_get_contents("http://api.ipinfodb.com/v3/ip-city/?format=json&key=<API KEY>&ip=".$_SERVER['REMOTE_ADDR']);
if ($geoloc && ($r = json_decode($geoloc)) !== false) {
// Your timezone is in $r->timeZone in the format "+/-i:ii"
}
?>
你所需要的ipinfodb API密鑰,您可以在以下地址獲得:http://ipinfodb.com/register.php
PS:不隸屬於ipinfodb,只是你知道的。 – 2013-04-22 10:55:21
有時,沒有server-based/PHP
獲取當地時間的方法。
你必須通過Javascript
從客戶端得到它。谷歌bitbucket timezone detect
並用它來設置一個local_timezone
的cookie,你可以從PHP讀取,並通過date_default_timezone_set()
//get the client ip and assign it to variable
$IP=$_SERVER['REMOTE_ADDR'];
//if you using localhost you can check using follow variable
//$IP = '202.71.158.30';
//pass the ip as a parameter for follow URL it will return the country
$country = file_get_contents('http://api.hostip.info/country.php?ip='.$IP);
//show the country
echo $country
進一步設置,這裏是鏈接,這將有助於你得到GTM時區...
How do I get Greenwich Mean Time in PHP?
你需要實現自己的邏輯,例如,獲取客戶的時間並從GTM-0中扣除它,你將得到的將是GTM(小時)..希望你能得到我想說的。 。
希望它有幫助。
thnks ...大多數情況下,這個例子將會是這樣的<?php date_default_timezone_set(「Asia/Bangkok」); echo date_default_timezone_get(); ?>但我想爲印度顯示GMT 5+ ..我不應該硬編碼任何值 – AndroidRaji 2013-04-22 10:54:00
Plz告訴我,如果國家是印度..如何打印GMT +5 – AndroidRaji 2013-04-22 11:34:59
您可以使用hostip相同..我已經更新了答案... – 2013-04-22 11:57:01
- 1. 獲得格林威治標準時間
- 2. 格林威治標準時間偏移
- 3. 從格林威治標準時間格式中刪除時間
- 4. 我想顯示的時間格林威治標準時間從(1800 + 0100)
- 5. 不能將時間轉換爲格林威治標準時間
- 6. Gmdate()總是10分鐘實際格林威治標準時間
- 7. 將格林威治標準時間轉換爲EST
- 8. 轉換日期/時間格林尼治標準時間格林尼治標準時間使用Javascript
- 9. 如何格式化沒有格林威治標準時間的JSON日期
- 10. 從格林威治標準時間和用戶時區計算時間
- 11. PHP時區問題| UTC和格林尼治標準時間
- 12. 如何將格林威治標準時間轉換爲iphone的編程方式?
- 13. 如何獲得夏令時格林尼治標準時間
- 14. DateTimeOffset存儲爲格林威治標準時間轉換爲中央時間
- 15. SQL:從格林威治標準時間到太平洋查詢時間戳
- 16. 轉換日期爲格林尼治標準時間 - PHP
- 17. 芹菜花顯示格林尼治標準時間,而不是本地時區
- 18. 將格林尼治標準時間轉換爲當地時間
- 19. 當地時間與格林尼治標準時間
- 20. 在格林尼治標準時間的服務器顯示日期時間在PHP中
- 21. 如何在格林威治標準時間和C++中的任何時區之間獲得分歧
- 22. 如何在Linux中顯示我的當前時間(服務器顯示日期格林威治標準時間,但我的時間應該是GMT + 8)?
- 23. 格林威治標準時間錯誤的方式本地隱瞞(錯誤值)
- 24. ColdFusion - 格林尼治標準時間格式與GMT偏移量
- 25. 絕對格林尼治標準時間日期在iPhone上
- 26. 時區轉換爲CST格林尼治標準時間偏移
- 27. 如何在格林威治標準時間00時後每天1小時運行cron作業
- 28. 如何設置小時,分鐘,秒到日期是在格林威治標準時間
- 29. NSString到格林尼治標準時間的NSDate轉換
- 30. 格林尼治標準時間上午9點設置鬧鐘
爲什麼你需要GMT? PHP提供了[Named Timezones](http://il1.php.net/manual/en/timezones.php) – 2013-04-22 10:57:09