我想用这种格式解析一个日期" 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你自己。
答案 0 :(得分:1)
不是错误。管道(|
)字符是Date的有效字符格式,因此您需要将其转义:
|将所有字段(年,月,日,小时,分钟,秒,分数和时区信息)重置为Unix Epoch(如果尚未解析)
E.g:
$format = 'j F \| H\h';
测试here。 :)