date_diff() expects parameter 1 to be DateTimeInterface, string given

datediff, php

Solution

Because you are passing string whereas date_diff expects `datetime` object,

$date_expire = '2014-08-06 00:00:00';    
$date = new DateTime($date_expire);
$now = new DateTime();

echo $date->diff($now)->format("%d days, %h hours and %i minuts");

DEMO.

Problem

They have the same format: ``` $date_expire = '2014-08-06 00:00:00'; $date1 = date("Y-m-d G:i:s"); $date2 = date_create($date_expire); $diff = date_diff($date1, $date2); //this line makes error. ``` But I am getting this error: date_diff() expects parameter 1 to be DateTimeInterface, string given

Original source