代码之家  ›  专栏  ›  技术社区  ›  Alexandre Elshobokshy

日期时间未使用格式函数提供正确的值

php
  •  1
  • Alexandre Elshobokshy  · 技术社区  · 7 年前

    我试图通过php文档比较两个日期:

    $date1 = new DateTime("now");
    $date2 = new DateTime("tomorrow");
    var_dump($date1 > $date2); //false
    

    所以现在不比明天大,所以这是错误的。现在我有了这个:

    $date_start = \DateTime::createFromFormat('d/m/Y H:i', '18/07/2018 16:20');
    $date_start_format = $date_start->format('d/m/Y H:i');
    
    $date_end = \DateTime::createFromFormat('d/m/Y H:i', '01/08/2018 21:45');
    date_end_format = $date_end->format('d/m/Y H:i');
    
    var_dump($date_start_format > $date_end_format); //True
    

    现在,当我试着把一个古老的日期与明天进行比较时,就像例子中那样,我会得到真实的结果。哪一个应该是假的,有人能解释一下为什么吗?

    3 回复  |  直到 7 年前
        1
  •  7
  •   AymDev    7 年前

    DateTime

    var_dump($date_start > $date_end);
    # bool(false)
    

    format()

    18/07/2018 16:20
    01/08/2018 21:45
    ^-- 1 > 0
    
        2
  •  0
  •   Exterminator    7 年前

        3
  •  -2
  •   Adictonator    7 年前

    strtotime()

    //Example

    $date_start = strtotime(date('d/m/Y H:i', '18/07/2018 16:20')); $date_end = strtotime(date('d/m/Y H:i', '01/08/2018 21:45')); var_dump($date_start > $date_end); //false

    Date

    推荐文章