2

開始日はランダムです (例: 2012-09-19)。この日付以降の月次サイクルの終了日を簡単に取得したいと思います。ただし、毎月のサイクルは正確に 30 日ではなく、9 月 19 日から 10 月 19 日までの日付から日付までです。

うるう年を考慮して、サブスクリプションが開始されてから5日または500月の開始日と終了日を簡単に計算したいと思います。たとえば、サブスクリプションがうるう年の 2 月 29 日に開始され、うるう年以外の 2 月が来る場合、期間の終了日は 2 月 28 日である必要があります。ただし、将来の月次サイクルは 1 日ずれることはありません。

4

1 に答える 1

0

strtotime()を使用すると、これは非常に簡単に思えます。

最初の日付が 2012-02-29 だとしましょう。

function addToDate($date, $add){
        if(!strtotime($date)) return FALSE;
        $date = strtotime($date);
        return strtotime($add, $date);
}

$result = addToDate('2012-02-29', '+50 months');
echo date('Y-m-d', $result);

結果は 2016-04-29 になります。

于 2012-09-05T09:17:44.137 に答える