/**
* 次の 20日 を取得する
*
* 例: 4/15日にこのメソッドを実行 -> 4/20が返る
* 例: 4/21日にこのメソッドを実行 -> 5/20が返る
*
*
* なお、20日に実行した場合は当日が返る
*
* 例: 4/20日にこのメソッドを実行 -> 4/20が返る
*
*/
protected function getNextNthDay( \Carbon\Carbon $arg_dt , $day_no=20 )
{
if($arg_dt->day > $day_no ){
$arg_dt->firstOfMonth()->addMonthsNoOverflow()->addDay( $day_no-1 );
} else {
// 今月の20日をセット
$arg_dt->firstOfMonth()->addDay( $day_no-1 );
}
return $arg_dt;
}
使い方( Laravel で dump してみる例 )
$dt_next_nth_day = $this->getNextNthDay( new \Carbon\Carbon('2019-04-21') );
dump( '2019-04-21 の次の 「20日」は', $dt_next_nth_day); echo "<br>";