dep*_*erm 14 php string format datetime
当我运行它时,第一个正确创建为日期.第二个失败,返回a boolean,所以我无法格式化.时间是否超出范围?
//works correctly
$startDate = "2015-05-06 10:49:20.637133";
$start = DateTime::createFromFormat('Y-m-d h:m:s.u',$startDate);
echo $start->format('m/d/y');
//doesn't work correctly
$startDate = "2015-05-12 15:49:06.821289";
$start = DateTime::createFromFormat('Y-m-d h:m:s.u',$startDate);
echo $start->format('m/d/y');
Run Code Online (Sandbox Code Playgroud)
Mar*_*c B 18
检查DateTime::getLastErrors():
php > var_dump(DateTime::createFromFormat('Y-m-d h:m:s',"2015-05-12 15:49:06"));
bool(false)
php > var_dump(DateTime::getLastErrors());
array(4) {
["warning_count"]=>
int(1)
["warnings"]=>
array(1) {
[19]=>
string(27) "The parsed date was invalid"
}
["error_count"]=>
int(1)
["errors"]=>
array(1) {
[11]=>
string(30) "Hour can not be higher than 12"
Run Code Online (Sandbox Code Playgroud)
除了其他答案之外,对于DateTime您理解的标准格式,不需要从格式创建:
$startDate = "2015-05-12 15:49:06.821289";
$start = new DateTime($startDate);
echo $start->format('m/d/y');
Run Code Online (Sandbox Code Playgroud)