Будет выведено:
$dayDiff = round((strtotime('2012-02-18') - strtotime('2012-02-22')) / 86400);
echo $newDate= date('Y-m-d', strtotime($dayDiff . " day", strtotime('2012-02-18')));
или:
$firstDate = strtotime('2012-02-18');
$dayDiff = round(($firstDate - strtotime('2012-02-22')) / 86400);
echo $newDate= date('Y-m-d', strtotime($dayDiff . " day", $firstDate));
strtotime
будет работать с текущей отметки времени, а не с 18-го, поэтому, если вы выводите:echo date('Y-m-d', strtotime('now'));
будет выводить сегодняшнюю дату, echo date('Y-m-d', strtotime('now - 4 days'));
25, а echo date('Y-m-d', strtotime('2012-02-18 - 4 days'));
18-й -4-й день будет выводить 14.
больше информации о strtotime: http://php.net/manual/en/function.strtotime.php