Я попытался вычитать два времени, чтобы получить результат за считанные секунды:
$created = "2015-01-16 07:26:55";
$newdate_created = date('Y-m-d H:i:s', strtotime('+2 month', strtotime($created)));
$now = date('Y-m-d h:i:s');
$interval = date_diff($now, $newdate_created);
$seconds = $interval * 60 * 60 * 12 ;
Но я получаю эту ошибку:
date_diff() ожидает, что параметр 1 будет DateTime, я не знаю, где проблема для получения этой работы
Я смотрю вывод таким образом:
5259000 // something like that by seconds
Очень расточительный код. Нет никакого смысла форматировать временные метки в строках, просто чтобы вернуть их обратно в формат timestamp:
$newdate_created = strtotime('+2 month', strtotime($created));
$now = time();
$diff_in_seconds = $now - $newdate_created;
date()
не создает объект DateTime, который требуется для использованияdate_diff()
$now = new DateTime();
и$newdate_created = new DateTime('+2 month');
, Тогда ваш$interval
будет объектомDateInterval
.