月額課金するプログラムを作っていており、ユーザーがサブスクリプションを開始する前に申込み日が月末かどうかを判定する必要がありました。
PHPで指定した日が月末なのかどうかを判定の方法として
タイムスタンプを使用し、1日足したら翌月の1日になるかどうかで判断しました。
指定した日が月末かどうか判定
function isEndofMonth($input_date) { return date(“d”, strtotime($input_date) + 60 * 60 * 24) == ’01’; }
ついでに、月末日を取得するというのもあったほうが便利ですよね。
今月の末日を取得
date('Y-m-d', mktime(0, 0, 0, date('m') + 1, 0, date('Y')));
翌月の末日を取得する
date('Y-m-d', mktime(0, 0, 0, date('m') + 2, 0, date('Y')));
プログラムはChatGPTに部分的に書いてもらえるようになってきて、楽になってきました。