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

时间:2012-07-25 11:20:54

标签: php

当我使用此功能获取日期n时:

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

它提供了错误的时间。 目前正确的时间是下午4点30分,但我的功能显示在上午11点。 这意味着提前5.30小时出现。 帮我拿出正确的时间。

4 个答案:

答案 0 :(得分:1)

有两个可能的原因。

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

这些实际上是相关的。

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

答案 1 :(得分: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);

答案 2 :(得分: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' );
?>

答案 3 :(得分: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;