- time: documentation ( source)
<?php
$time_str = '1:47 PM';
$tz_str = 'America/New_York';
$timestamp = time();
$datetime = new DateTime("now", new DateTimeZone($tz_str)); //first argument "must" be a string
$datetime->setTimestamp($timestamp); //adjust the object to correct timestamp
//$datetime = new DateTime( '2010-05' );
$datetime->modify( 'first day of +0 month' );
echo $datetime->format( 'F' ), "\n";
echo $datetime->format('w d.m.Y, H:i:s') . "\n";
echo $datetime->format('m.Y') . "\n";
$datetime->modify( 'last day of +0 month' );
echo $datetime->format( 'F' ), "\n";
echo $datetime->format('w d.m.Y, H:i:s') . "\n";
echo $datetime->format('m.Y') . "\n";
$datetime->modify( 'first day of +1 month' );
echo $datetime->format( 'F' ), "\n";
echo $datetime->format('w d.m.Y, H:i:s') . "\n";
echo $datetime->format('m.Y') . "\n";