服务器日期解决问题

时间:2013-06-25 08:28:04

标签: php date time

$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

为什么这个时间差异并且显示出错误的想法?

3 个答案:

答案 0 :(得分:1)

时差没错。您在+0:00获得时区的正确日期和时间。要解决此问题,set your timezone

答案 1 :(得分:0)

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

date("h:i A");

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

要避免这种情况,您必须在服务器或脚本中set default timezone