- date_default_timezone_set: documentation ( source)
<?php
date_default_timezone_set('UTC');
$date = new \DateTime('2014-01-30');
$date->add(new \DateInterval('P1M'));
echo $date->format('Y-m-d') . PHP_EOL; // echoes 2014-03-02
$date = new \DateTime('2014-01-31');
$date->add(new \DateInterval('P1M'));
echo $date->format('Y-m-d') . PHP_EOL; // echoes 2014-03-03