Как вставить результат разницы дат в базу данных MySQL, используя PHP?

    <?php
function find_days($start_date, $end_date) {
$response = new stdClass();
try {
$sdate = new DateTime($start_date);
$edate = new DateTime($end_date);
$dateInterval = $edate->diff($sdate);
$response->status = true;
$response->result = $dateInterval;
return $response;
} catch (Exception $e) {
$response->status = false;
$response->result = 'Invalid Date Format';
return $response;
}
}
?>
Start Date: <input type="date" name="sdate" placeholder="start date" />
End Date: <input type="date" name="edate" placeholder="end date" />
<input type="submit" value="Find Days" />
<?php
if (isset($_POST['sdate']) && $_POST['sdate']) {
$start_date = $_POST['sdate'];
$end_date = $_POST['edate'];
//now call the function
$days_array = find_days($start_date, $end_date);
if ($days_array->status) {
echo " <input  type='text' name='day'
value='.$days_array>result>days.' />";
$day = $_POST['day'];
$query   = "INSERT into cart (date,edate,days)
VALUES('$start_date','$end_date','$day')";
$success = $conn->query($query);
if (!$success) {
die("Couldn't enter data: ".$conn->error);
}
} else {
echo $days_array->result;
}
}

Мой код работает отлично. Но результат отображается только на экране.
Поэтому я попытался сохранить результат, поместив его в текстовое поле, а затем вставив в таблицу обычным способом. Но я получил ошибку «Исправляемая фатальная ошибка: объект класса DateInterval не может быть преобразован в строку в C: \ xampp \ htdocs \ date.php в строке 45» Я не знаю, как исправить это .., пожалуйста, помогите мне решить этот.

0

Решение

Вы должны преобразовать его в строку, используя формат:

<?php
$now = new DateTime();
$hour = new DateTime( "now +1hours +13minutes +22seconds" );
$diff = $now->diff( $hour );

echo $now->format('Y-m-d H:i:s');
echo "\n";
echo $hour->format('Y-m-d H:i:s');
echo "\n";
echo $diff->format('%H:%I:%S');

Выход

2018-07-26 20:53:42
2018-07-26 22:07:04
01:13:22
0

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector