代码之家  ›  专栏  ›  技术社区  ›  Adem Tepe

php date()函数没有给出正确的年份

  •  0
  • Adem Tepe  · 技术社区  · 6 年前
    echo date("Y", strtotime('2019-W01'));
    

    这应该是我的“2019”吧?

    不,它给出了“2018”。

    当它是

    echo date("Y", strtotime('2019-W02'));
    

    我想这是个窃听器还是有什么我不知道的?

    1 回复  |  直到 6 年前
        1
  •  2
  •   A l w a y s S u n n y    6 年前

    它不是一个bug,它正在按预期工作。 echo $date->format('Y'); 返回2018因为 第一 第周 2019 2018-12-31 . 看看我什么时候尝试格式化 Y-m-d echo date("Y-m-d", strtotime('2019-W01')); 它回来了 2018-12-31 以及 echo date("Y", strtotime('2019-W01')); 2019 因为它是 2019-01-07 . 让我们试试这个 echo date("Y-m-d", strtotime('2019-W02'));

    <?php
    $date= new \DateTime('2019-W01');
    echo $date->format('Y');
    echo PHP_EOL;
    echo $date->format('Y-m-d');
    //echo date("Y", strtotime('2019-W01'));
    ?>
    

    https://3v4l.org/GsF1t