- date_default_timezone_set: documentation ( source)
<?php
date_default_timezone_set('UTC');
$date = new DateTime(null, new DateTimeZone('UTC'));
$date->setTime(0,0,0);
$date->modify('next month');
$date->modify('last day of this month');
$date->setDate(2002, 8, 21);
// This should be 21st August 2002
echo $date->format('Y-m-d');