我想显示格林威治标准时间基于国家。如果假设,来自印度的一些用户注册到我的应用程序中,我应该将格林尼治标准时间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