php date_create_from_format返回错误的时间

时间:2017-04-05 21:00:03

标签: php date datetime

我正在尝试使用外部系统提供的日期并将其转换为DateTime以便在我的系统中使用。但是,我遇到了导致错误信息出现的date_create_from_format函数的问题。

我从另一个函数收到一个日期和时间作为字符串(当我直接调用它时,我确认它是正确的)。该字符串用于构造DateTime对象,使用的格式字符串与调用的格式字符串相匹配,以便在将字符串返回给我之前对其进行格式化。但是,生成的DateTime对象是完整的12小时关闭。示例代码如下:

var_dump($object->getEndTime());
//string(19) "2017-04-04 18:26 PM" 
//formatted in another function by 
//$endTime = date('Y-m-d G:i A', $endTime);
//return $endTime;

$endTime = date_create_from_format('Y-m-d G:i A', $object->getEndTime());
var_dump($endTime);
//object(DateTime)#150 (3) { ["date"]=> string(26) "2017-04-05 06:26:00.000000" ["timezone_type"]=> int(3) ["timezone"]=> string(16) "America/New_York" } 

如图所示,看起来date_create_from_format函数占用我的小时值并将其向前移动以匹配12小时时间,尽管格式匹配,然后不提供AM / PM值。关于这个功能我有什么遗漏吗?

0 个答案:

没有答案