0

重複の可能性:
営業日を計算する

プロジェクトのスケジュールを示すレポートがあり、そのレポートには、プロジェクトの計画開始日と実際の開始日との差によって変化するセマフォがあります。

予定日が実際の開始日と同じ場合、セマフォは緑色になります。

日付間の日数の差が > 0 で < 2 の場合、黄色です。

差が > 3 の場合、セマフォは赤で表示されます。

私のコードは次のようになります。

if( (strtotime($real) - strtotime($planned)) == 0 )
{
    $semaphore = 'green';
}

問題は、予定日がたとえば金曜日で、プロジェクトが実際に次の月曜日に開始された場合です。この場合、プロジェクトは予定より 1 日 (作業) 遅れ​​て開始されたため、セマフォは黄色になります。問題は、土曜日と日曜日をカウントしていて、セマフォが赤で表示されることです。

この例外を作成するにはどうすればよいですか?

編集:

私は最終的にこれを行うことになります:

if((date('l',strtotime($planned)) == 'Friday') AND (strtotime('next monday',strtotime($planned)) == strtotime($real)))
{
    $semaphore = 'yellow';
}
4

1 に答える 1

0

あなたが持っているとしましょう$real = '2007/10/31';

  $weekday = date('l', strtotime($real));  // Wednesday

これはあなたを助けるかもしれません

これらの日付の間の日数を取得し、それらの間の日が日曜日または土曜日であるかどうかを確認することをお勧めします

于 2013-01-18T01:33:37.637 に答える