2013-07-27 63 views
0

日期函数输出错误的日期时间在php.Now当前日期时间在印度是2013/07/27 23:10:12 但它的输出2013/07/27 17:39:12.这是错误的请帮助我解决问题。日期函数输出错误的日期时间

感谢

+1

php使用服务器时间!看[date_timezone_set](http://www.php.net/manual/de/function.date-timezone-set.php)或[date_default_timezone_set](http://www.php.net/manual/de/function .date-default-timezone-set.php) – bitWorking

+0

as @redreggae说,确保你的服务器有正确的时间设置 – Ahmad

+0

上面的时间是你的服务器上设置的时间,如果你想改变你的时区,你可以改变它使用设置时间函数在php – 2013-07-27 18:51:23

回答

0

日期时间函数依赖于服务器的php.ini文件中的timezone集。

取消注释在php.ini文件中的行,它设置为您的时区(请参考上面的链接找到常数):

date.timezone = "Asia/Calcutta" 

您可以set it with PHP如下:

$date = new DateTime(); 
$date->setTimezone(new DateTimeZone('Asia/Calcutta')); 

获取IP地址的最佳方法如下:

$ip = $_SERVER['REMOTE_ADDR']; 

这很容易,但t他很难将其映射到时区。有几个数据库可能有所帮助:​​和IP2Location。然而,你最好的解决方案可能是在客户端用jsTimezoneDetect这样的工具来完成。这是另一个JavaScript solution

+0

什么改变在php.ini文件,所以它应该工作正常。因为我想获得当地时间的用户。如果用户在美国所以它应该得到UTC时间。如果在印度这么时间应该根据印度时区。谢谢 –

+0

好吧,但如果用户来自美国,那么它不会工作? –

+0

请帮助我正确的答案。谢谢 –