0
$eve['start']['dateTime'] = 2013-05-02T14:00:00+05:30;

$current_date = date("m-d-Y",strtotime($eve['start']['dateTime'])); 

$start_time = date("H:i A",strtotime($eve['start']['dateTime']));

当我使用上面的代码时,我得到它05-02-2013 08:30 AM

但我应该得到05-02-2013 2:00 PM

为什么这个时差并显示错误的任何想法?

4

3 回答 3

1

时差没有错。您将获得 +0:00 时区的正确日期和时间。要解决此问题,请设置您的时区

于 2013-06-25T08:30:42.807 回答
0
$eve['start']['dateTime'] = "2013-05-02T14:00:00+05:30"; // Missing quotes in your code?
$current_date = date("m-d-Y",strtotime($eve['start']['dateTime'])); 

应该返回05-02-2013 08:30 AM,因为您的服务器的时区位于 GMT+0。如果你14:00用 5 个半小时(从 +0530 到 +0000)取减,它应该是08:30.

为避免这种情况,您必须在服务器或脚本中设置默认时区。

于 2013-06-25T08:34:02.177 回答
0

您的格式化程序似乎不正确,要获得所需的输出,请使用下面的代码。H用于带有前导零的 24 小时格式。h用于 12 小时格式。

date("h:i A");
于 2013-06-25T08:30:34.807 回答