私は毎月顧客に請求する必要のあるシステムに取り組んでいます。日付は、購読する日によって異なります。月または月の最終日になる可能性があります。特定の日付に毎月顧客に請求する
私は最初の日付を保存しています。たとえば、顧客が今日申し込んだ場合、2016-11-30に課金されるため、2016-11-30をデータベースに保存します。
日付が固定値の場合(問題はありません)は問題ありません。問題はその月の最後の日である。上記の例を考えてみると、2016-12-30ではなく2016-12-31に請求する必要があります(31日は12月の最終日です)。
月の最後の日に請求する必要があるすべての顧客を取得するためにPHPスクリプトを作成するにはどうすればよいですか?
ありがとうございます!
EDIT
例:
顧客Aサインアップ今日。このシステムでは、この顧客は毎月最終日に請求される必要があると言います。顧客テーブルには最初の日付のフィールドがあり、この場合は2016-11-30が格納されます。つまり、30-NOV、31-DEC、31-JAN、28-FEB(または29-FEB)、31-MAR、30-APRで請求されることになります。
明日はBさんがサインします。このシステムでは、この顧客は毎月1日に請求される必要があります。データベースフィールドには2016-12-01が格納されます。つまり、彼は1-DEC、1-JAN、1-FEB、1-MAR、1-APRに課金され、継続します。
今、顧客に請求する時期を決定するスクリプトを作成する必要があります。顧客Bは毎月1日に設立されているので、問題はありません。しかし、顧客Aはその月の同じ日に請求されません。いくつかの月で彼は30日、31日、2月28日、29日に請求されます。
2016-11-30は実際には「2016-11-30」ではなく「月の最終日」を意味することをスクリプトがどのように知ることができますか?ちょうどあなたの好みやフォーマットへのパラメータを変更
<?php echo date('d-m-Y', strtotime('last day of this month')); ?>
:
'31-DEC'で私に課金することを提案するだろうが、' 30-DEC'にサインアップすれば '30-NOV'で課金されるだろう、そうなのだろうか?もしそうなら、ここにはアシンメトリーがあるようです。 –
物事を簡単にするために、月の最終日にのみシステムが充電されているとします。今すぐ申し込む場合、30-NOV、31-DEC、31-JAN、28-FEB(または29-FEB)、31-MAR、30-APR –