Member 13842964 Ответов: 1

Попытка получить разницу между 2 датами в днях с помощью PHP


Я пытаюсь получить возраст записи, вычисляя разницу между двумя датами в записи. Все усилия на сегодняшний день не увенчались успехом. Я новичок в этом деле, так что любая помощь или совет будут очень признательны.

Я только начинаю работать в PHP, так что, пожалуйста, потерпите меня. Я пытался сделать это сам в течение 2 недель, но на сегодняшний день потерпел неудачу. Я делаю отчет, который даст мне возраст записи, пытаясь вычесть созданную дату из закрытой даты. Один из многих кодов, которые у меня есть, выглядит следующим образом:

$sql = 'SELECT * FROM table WHERE status="Closed" ';
                       foreach ($pdo->query($sql) as $row) {
                                echo '<tr>';
                                echo '<td>'. $row['id'] . '</td>';
                                echo '<td>'. $row['status'] . '</td>';
                                echo '<td>' (date_diff(. $row['created'] ,  $row['now'] .))'</td>';                              
                                echo '</tr>';
                       }
                       Database::disconnect();
                      ?>


Date_diff не работает, и хотя я перепробовал множество вариантов, я просто не могу заставить его работать. Любая помощь или предложения, где я мог бы найти правильное решение, были бы очень признательны.

Что я уже пробовал:

Все, что я знаю, - это поиск в Интернете. Я пробовал много решений, но пока не преуспел

Member 13842964

Спасибо вам за этот очень быстрый ответ, он очень ценится. Я попробую это сделать в ближайшее время и дам отзыв о результате.

Member 13842964

Теперь я получаю эту ошибку:

Предупреждение: date_diff() ожидает параметр 1, чтобы быть типа datetime строку

Я пробовал некоторые предлагаемые решения для Интернета, но пока безуспешно

1 Ответов

Рейтинг:
2

Richard Deeming

Цитата:
echo '<td>' (date_diff(. $row['created'] ,  $row['created'] .))'</td>';

Во-первых, буквы "."находятся не в том месте:
echo '<td>' . date_diff($row['created'], $row['created']) . '</td>';

Во-вторых, вы пытаетесь взять разницу между created колонна и ... created колонка. Это, очевидно, не приведет к различию, так как оба значения одинаковы.

Если вы хотите получить разницу между двумя столбцами, вам нужно указать, с каким столбцом вы хотите сравнить.
echo '<td>' . date_diff($row['created'], $row['some-other-column-here']) . '</td>';