0

当我使用此函数获取日期 n 时间时:

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

它给出了错误的时机。当前正确的时间是 04.30 pm,但我的功能显示为 11.00 am。这意味着提前 5.30 小时放映。帮我找出正确的时间。

4

4 回答 4

1

有两个可能的原因。

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

这些其实是相关的。

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

于 2012-07-25T11:23:51.223 回答
1

根据您的用户名,我认为您来自印度。

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

就在之前date("d-M-Y h:i A");

或者

$offset= strtotime("+5 hours 30 minutes"); 
$date = date("Y-m-d H:i:s",$offset);
于 2012-07-25T11:40:50.177 回答
0

如果在本地主机上工作,请在 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' );
?>
于 2012-07-25T11:23:15.367 回答
0

似乎您获得的是 UTC 时间而不是您的时区(格林威治标准时间 +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;
于 2012-07-25T11:28:36.173 回答