$dt = new DateTime();
echo $dt->format('Y-m-d H:i:s');
echo $dt->format('Y/m/d (D) H:i:s');
戻り値
2017-05-20 07:01:28
2017/05/20 (Sat) 07:01:28
年月日等をバラバラに取り出すときは次のようにします
$dt = new DateTime();
$year = $dt->format('Y'); // 2017
$month = $dt->format('m'); // 04
$day = $dt->format('d'); // 03
$dt->modify('-1 months'); // 1ヶ月 前
$dt->modify('+1 months'); // 1ヶ月 後
$dt->modify('−12 hours'); //12時間 前
$dt->modify('+12 hours'); //12時間 後
$dt->modify('-30 minutes'); //30分 前
$dt->modify('+30 minutes'); //30分 後
$dt->modify('-1 weeks'); //1週間 前
$dt->modify('+1 weeks'); //1週間 後
$dt->modify('first day of this months'); // その月の最初の日
$dt->modify('last day of this months'); // その月の最後の日
$dt->modify('first day of last months'); // 前月の最初の日
$dt->modify('last day of last months'); // 前月の最後の日
$dt->modify('first day of next months'); // 次の月の最初の日
$dt->modify('last day of next months'); // 次の月の最後の日
状況によって使い分けると良いでしょう
http://php.net/manual/ja/class.datetime.php
http://php.net/manual/ja/class.datetimeimmutable.php
クラスの説明
このクラスの挙動は DateTime とほぼ同じですが、 自分自身は変更せずに新しいオブジェクトを返すという点だけが異なります。
です