3

私は現在、オンラインサブスクリプションアプリケーションを開発しています。ユーザーがサブスクライブする日数を選択してから開始日を選択する部分で、いくつかの課題があります。PHPアプリケーションは、週末を除いて終了日を計算できるはずです。

<form method="post">
    <input name="startdate" type="text" />
    <input name="numberofdays" type="text" />
</form>

誰かがこれで私を助けることができますか?

4

4 に答える 4

17

の送信方法によって異なりstartdateますが、Ymd を使用していると仮定すると、DateTimeを使用できます

例えば:

<?php 

    $_POST['startdate'] = '2012-08-14';
    $_POST['numberofdays'] = 10;

    $d = new DateTime( $_POST['startdate'] );
    $t = $d->getTimestamp();

    // loop for X days
    for($i=0; $i<$_POST['numberofdays']; $i++){

        // add 1 day to timestamp
        $addDay = 86400;

        // get what day it is next day
        $nextDay = date('w', ($t+$addDay));

        // if it's Saturday or Sunday get $i-1
        if($nextDay == 0 || $nextDay == 6) {
            $i--;
        }

        // modify timestamp, add 1 day
        $t = $t+$addDay;
    }

    $d->setTimestamp($t);

    echo $d->format( 'Y-m-d' ). "\n";

?>
于 2012-08-14T18:51:53.443 に答える