Yii2在gridview中两个日期之间的计数日

Yii2在gridview中两个日期之间的计数日,yii2,yii2-basic-app,Yii2,Yii2 Basic App,我使用上面的代码来计算今天的日期和活动日期之间的日期。代码显示了对字符串上的成员函数diff()的错误调用 请告诉我哪里错了 谢谢。您需要使用DateTime对象来计算差异,而不是$today变量,该变量是一个字符串(因此会收到错误消息) 替换: 'class' => 'kartik\grid\FormulaColumn', 'header' => 'Days Work', 'value' => fun

我使用上面的代码来计算今天的日期和活动日期之间的日期。代码显示了对字符串上的成员函数diff()的错误调用

请告诉我哪里错了


谢谢。

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

替换:

            '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%',
        ],


替换:
$interval=$today->diff($datetime2)->天具有
$interval=$time->diff($datetime2)->天我的错误,它正在工作:)谢谢you@csminb请写下你的评论作为回答。
$interval = $today->diff($datetime2)->days;
$interval = $time->diff($datetime2)->days;