0

在此处输入图像描述

任务表中有3个字段->expected_start_datetime,expected_end_datetime,time_allocated 创建任务时选择预期的开始和结束日期时间并保存在记录中。

我想要做的是以小时和分钟为单位找到两个日期之间的差异,并在创建任务时将值保存在“time_allocated”中,然后在更新或查看页面使用/显示记录中的时间分配值.

在任务控制器操作创建中尝试这样的事情

$diff = ((strtotime($model->expected_start_datetime) - strtotime($model->expected_end_datetime)) / (60 * 60 * 24));

        $model->time_allocated = $model->time_allocated + $diff;

在此处输入图像描述

4

1 回答 1

1

在您的模型中,您应该像这样覆盖 beforeSave 函数:

            public function beforeSave($insert) {

                $diff =strtotime($this->expected_end_datetime)-strtotime($this->expected_start_datetime);
                $hours= floor($diff/(60*60));
                $mins= floor(($diff-($hours*60*60))/60);

                $this->time_allocated=$hours.':'.sprintf("%02d",$mins);
                return parent::beforeSave($insert);
            }
于 2016-06-14T08:37:45.443 回答