- var_dump: documentation ( source)
- floor: documentation ( source)
<?php
$date = new DateTime('2017-06-28');
var_dump($date->format('Y-m-d'));
$test = floor(1 / 3);
var_dump($test);
$date->setDate($date->format('Y'), floor(($date->format('m')-1) / 3) * 3 + 1, 1);
var_dump($date->format('Y-m-d'));
$date = clone($date);
$date->modify('+3 month -1 day');
var_dump($date->format('Y-m-d'));
$date->setDate($date->format('Y'), 1, 1);
var_dump($date->format('Y-m-d'));
$date->setDate($date->format('Y'), 12, 31);
var_dump($date->format('Y-m-d'));