2012-07-25 88 views
0

当我获取日期N使用此功能时:在日期和时间在PHP的格式,时间是不正确的

date("d-M-Y h:i A"); 

它给了错误的时机。 目前正确的时间是04.30,但我的功能显示上午11.00。 这意味着提前5.30小时。 帮我拿出正确的时间。

+0

右键你设置时区在php.ini和/或日期时间对象? – feeela 2012-07-25 11:22:24

+0

http://php.net/manual/en/function.date-default-timezone-set.php – Tamil 2012-07-25 11:23:12

回答

1

展望由您的用户名,我认为你从印度是。

所以把date_default_timezone_set('Asia/Kolkata');

date("d-M-Y h:i A");

OR

$offset= strtotime("+5 hours 30 minutes"); 
$date = date("Y-m-d H:i:s",$offset); 
0

如果在localhost上工作,请在php.ini文件中更改您的时区。

OR尝试如下因素的方法:

<?php 
    $timezone = new DateTimeZone("Asia/Kolkata"); 
    $date = new DateTime(); 
$date->setTimezone($timezone); 
echo $date->format('H:i:s A/D, M jS, Y'); 
?> 
+0

我已经检查本地主机,也在服务器上。 但显示错误的时间。 笏可能是可能的原因? – 2012-07-25 11:30:14

+0

@atultyagi您是否在使用存储时间的变量? – 2012-07-25 11:36:55

1

有两个可能的原因。

1)时区。 2)服务器时间。

这些实际上是相关的。

检查服务器时间(即运行代码的机器上的系统时间)。如果不正确;修理它。如果它是正确的,那么还要检查时区,并将其引用到php端的默认时区。

0

看来你得到的是UTC时间而不是你的时区(GMT是+5:30)。 (这可能是因为你的默认时区可以设置为UTC)

试试这个:

date_default_timezone_set('GMT'); 
$temp= strtotime("+5 hours 30 minutes"); 
$date = date("Y-m-d H:i:s",$temp); 
echo $date; 
相关问题