【问题标题】:DateTime::createFromFormat is this a bug?DateTime::createFromFormat 这是一个错误吗?
【发布时间】:2017-01-26 12:01:20
【问题描述】:

我想用这种格式“26 January | 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你自己。

【问题讨论】:

    标签: php datetime datetime-format


    【解决方案1】:

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

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

    例如:

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

    测试它here。 :)

    【讨论】:

    • 好的,我可以找到-_-...谢谢!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-09-18
    • 2012-03-25
    相关资源
    最近更新 更多