Привет, У меня есть проблема, когда я пытаюсь получить общее время выполнения задания (используя поля базы данных job_start и job_end time (7)) затем добавив в поле другой модели,Вычисление разницы между двумя временами с использованием php, а затем добавление его к общему типу времени
код, который я есть в
if (isset($_POST['Jobs'])) {
$model->attributes = $_POST['Jobs'];
$model->setScenario('closejob');
$model->status = 2; //set status to closed
//date time difference - this is the part I need help with
$diff = $model->job_start - $model->job_end;
//need to get customer model and add time diff to it
$customermodel = Customers::model()->findByPk($model->customer_ID);
$customermodel->total_time = $customermodel->total_time + $diff;
$customermodel->save();
if ($model->save())
$this->redirect(array('view', 'id' => $model->job_ID));
}
Я попытался строку с другими функциями даты и времени, но безрезультатно, приведенный выше код выдает следующее сообщение об ошибке
CDbCommand faile d для выполнения инструкции SQL: SQLSTATE [22007]: [Microsoft] [SQL Server Native Client 11.0] [SQL Server] Ошибка конверсии при преобразовании даты и/или времени из строки символов.
Любые идеи по правильному пути сделать это ? i.e я собираюсь добавить время и вычислить различия все неправильно?
Я думаю, что это что-то делать с преобразованием строки в формат времени, но я не уверен, как это сделать
точно, как вы хранить эти значения даты/времени? " символьная строка "предполагает, что вы используете varchar или пытаетесь передать недопустимые форматы строки даты. –
@MarcB все они хранятся в базе данных как время (7) – user1652319