2013-06-05 59 views
1
$format = 'd M Y A h:i'; 
$date = DateTime::createFromFormat($format, '11 Mar 2013 PM 3:34'); 

返回false。 getLastErrors returs:PHP DateTime :: createFromFormat AM PM问题

[errors] => Array 
    (
     [12] => Unexpected data found. 
    ) 

在格式和PM日期删除后,它开始工作。

$format = 'd M Y h:i'; 
$date = DateTime::createFromFormat($format, '11 Mar 2013 3:34'); 

任何解决方案如何使它与AM和PM一起工作?

+0

你使用的是什么PHP版本? – Spudley

+0

PHP 5.3.9 ....... – user2455079

+0

在这种情况下,首先要做的是更新到最新的5.3版本(目前为5.​​3.25);如果这是PHP中的一个错误,它可能已经在两者之间的版本中修复。 – Spudley

回答

0

我会在时间之后追加AM/PM。有关接受的时间格式,请参见http://php.net/manual/en/datetime.formats.time.php

+1

这不是一个解决方案,该日期来自客户导出文件。 – user2455079

+0

@ user2455079 - 认为这不是一个解决方案,但它可能值得检查它是否有效 - 如果它以这种方式工作,但不是你的方式,你可能已经发现了一个PHP错误(在这种情况下,确保你是在最新的版本中,再次检查,编写一个简单的演示程序来显示问题,然后将其报告给PHP错误跟踪器) – Spudley

+0

它可以工作......但它无论如何=) 也许某些str_replace将帮助在这种情况下将其移动到结束... – user2455079