It would be a lot simpler if, instead of storing a formatted string, you stored the real Unix-style timestamp.
Keep in mind that Unix defines a timestamp as the number of seconds since January 1, 1970 at the stroke of midnight GMT.
First, store it:
setcookie("oldtime",time());
Then, on subsequent pages,
$difference = time() - $oldtime;
Now you have a difference value ... in seconds. Do the math:
$difference = difference / 60;
Now you have minutes.
if ($difference > 15) echo "it's been more than fifteen minutes!";