0

出版物の年間自動スケジュールを作成しようとしています。各号には、2 週間ごとに発生する 3 つの日付 (水曜日、金曜日、月曜日) があります。また、その日が休日に当たる場合は、自動的に調整されて次の日に移動する必要があります。

私は今、PHPでこれをすべてやろうとしています。ほとんどの作業は完了していますが、問題7の後、スクリプトがうまくいかず、1週間スキップしたようです. これを達成する方法を誰かが助けたり提案したりできますか?

これが私のロジックの擬似コードです。

For 12 months
    Get the amount of days in a given month
        For days in a month
            If Wednesday
        assign date to a var
            Else if Friday
                assign date to a var
                print wednesday var
                print friday var
                print monday var
                increment counter in order to skip ahead to the next week
            Else if Monday
                assign date to a var

ありがとう

4

1 に答える 1

1

これはあなたを正しい方向に向けるべきだと思います(テストされていませんが、あなたが望むことをするはずです)。

$iYear = date('Y');

for($i = 1; $i <= 12; $i++) {
  $iNumDaysInMonth = date('t', mktime(0,0,0,$i,1,$iYear);

  for($j = 1; $j <= $iNumDaysInMonth; $j++) {
    $iDayNum = date('N', mktime(0,0,0,$i,$j,$iYear));

    if($iDayNum == 3) {
      // wednesday
    } elseif($iDayNum == 5) {
      // friday
    } elseif($iDayNum == 1) {
      // monday
    }
  }
}
于 2012-10-09T13:48:55.847 に答える