PHPでDATETIME型のBETWEEN用の範囲(境界値を含む)を作る例
$start_range = '2019-02-01 00:00:00';
$datetime = new DateTimeImmutable($start_range);
// 月
// "2019-02-28 23:59:59"
$end_range = $datetime->add(new DateInterval('P1M'))->sub(new DateInterval('PT1S'))->format('Y-m-d H:i:s');
// 年
// "2020-01-31 23:59:59"
$end_range = $datetime->add(new DateInterval('P1Y'))->sub(new DateInterval('PT1S'))->format('Y-m-d H:i:s');