代码之家  ›  专栏  ›  技术社区  ›  André Luiz

不同年份日期间的php月差异

  •  0
  • André Luiz  · 技术社区  · 5 年前

    我有一段代码返回了一个奇怪的结果:

            $d1 = new DateTime('2018-12-01');
            $d2 = new DateTime('2009-02-03');
            $interval = $d2->diff($d1);
            echo $interval->format('%m months');
            die();
    

    又回来了9个月,这是错误的。这个问题很简单,但我还没有找到答案:我做错了什么?

    2 回复  |  直到 5 年前
        1
  •  0
  •   Nerea    5 年前

    你可以使用Carbon图书馆,它可以工作,并且可以返回2个月。

    $d1 = new \Carbon\Carbon('2018-12-01');
    $d2 = new \Carbon\Carbon('2019-02-03');
    echo $d2->diffInMonths($d1);
    die();
    

    https://carbon.nesbot.com/docs/

        2
  •  -1
  •   Panayiotis Georgiou    5 年前

    它对我有用!

    $datetime1 = date_create('2018-12-01');
    
    $datetime2 = date_create('2009-02-03');
    
    $interval = date_diff($datetime1, $datetime2);