PHPプログラムに関する各種メモ書き

PHPのCarbonで「次の20日」を取得する

● PHPのCarbonで「次の20日」を取得する

    /**
     * 次の 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>";
No.1487
04/17 13:07

edit