explode, implode, date, strtotime, preg_replace, Etc. Really?
OP uses a class DateTime, you don’t need to lower its code with this kind of bisare solution.
$in = date_create('2013-10-27');
$out = date_create($in->format('Y-m-10'));
echo $out->format('Y-m-d') . "\n";
$out = clone $in;
$out->setDate($out->format('Y'), $out->format('m'), 10);
echo $out->format('Y-m-d') . "\n";
$out = clone $in;
$out->modify((10 - $out->format('d')) . ' day');
echo $out->format('Y-m-d') . "\n";
Demo .
source
share