在php中的日期和时间格式中,时间不正确


In the format of date and time in php, the timing is not correct

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

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

它给出了错误的时间。目前的正确时间是下午4点30分,但我的功能显示为上午11点。这意味着提前5点30分。帮我找出正确的时间。

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

所以放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);

可能有两个原因。

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

这些实际上是相关的。

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

如果在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' );
?>

您得到的似乎是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;