2017-01-26 5 views
1

"26 January | 03h"という形式の日付を解析したいのですが、\DateTime::createFromFormatでは機能しません。これはバグですか?または私は何か間違っているのですか?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

バグではありません。パイプの文字(|)はDateの有効な文字形式ですので、エスケープする必要があります。

|彼らはまだ

例えば解析されていない場合のUnixエポックのすべてのフィールド(年、月、日、時、分、秒、分数やtimzone情報)をリセットします:

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

テストそれhere 。 :)

+2

さて、私はそれを発見できました。 –

関連する問題