DateTime :: createFromFormat这是一个错误吗?

时间:2017-01-26 12:01:20

标签: php datetime datetime-format

我想用这种格式解析一个日期" 1月26日| 03H"但它不适用于\DateTime::createFromFormat。这是一个错误吗?或者我做错了什么!?

<?php
$format = 'j F | H\h';
$nowStr =  (new \DateTime())->format($format);
$newDate = \DateTime::createFromFormat($format, $nowStr);
if ($newDate === false){
    echo "What the F***!?";
}
else{
    echo "My mistake!";
}

Test你自己。

1 个答案:

答案 0 :(得分:1)

不是错误。管道(|)字符是Date的有效字符格式,因此您需要将其转义:

  

|将所有字段(年,月,日,小时,分钟,秒,分数和时区信息)重置为Unix Epoch(如果尚未解析)

E.g:

$format = 'j F \| H\h';

测试here。 :)