Yii2 在 gridview 中计算 2 个日期之间的天数

Yii2 count day between 2 dates in gridview

            'class' => 'kartik\grid\FormulaColumn', 
            'header' => 'Days Work', 
            'value' => function ($model, $key, $index, $widget) { 
                $time = new \DateTime('now');
                $today = $time->format('Y-m-d');
                $p = compact('model', 'key', 'index');
                $datetime2 = $model->activedate;
                $interval = $today->diff($datetime2)->days;
                return $interval;
            },
            'headerOptions' => ['class' => 'kartik-sheet-style'],
            'hAlign' => 'right', 
            'width' => '7%',
        ],

我使用上面的代码来计算今天日期和活动日期之间的天数。代码显示错误 Call to a member function diff() on string.

请告诉我哪里错了。

谢谢。

您需要使用 DateTime 对象而不是 $today 变量来计算 diff,它是一个字符串(因此您会收到错误消息)

替换:

$interval = $today->diff($datetime2)->days;

$interval = $time->diff($datetime2)->days;