0

既存の日付に基づいて、特定の日に特定の間隔で特定のタスクを繰り返す方法を見つけようとしています。

たとえば、私はこれを持っています:

Date                              Task 
2011-01-12                   MJK-0083

したい:

  1. 提供された日付(この場合は水曜日)に基づいて曜日を決定します
  2. その月のどの水曜日であるかを判別します(この場合、第2水曜日)
  3. このタスクが発生する次の日付として、6月の第2水曜日の日付を計算します

私はいくつかの例を見てきましたが、それを少し行うことはできますが、すべてを行う方法を理解できないようです。たとえば、これをステップ1に使用しています。

date('l', strtotime('2011-01-12'))

しかし、ステップ2と3に関しては、私は迷子になっています...誰かが私を助けてくれますか?

4

1 に答える 1

2

月のどの水曜日かを確認するには、その月の日を使用してこれを行うことができます

(int)(day_of_month / 7) + (day_of_month % 7 == 0 ? 0 : 1)

したがって、2012-01-12の場合、次のようになります。

(int)(12 / 7) + (12 % 7 == 0 ? 0 : 1) = 1 + 1 = 2 -> second Wednesday
于 2012-04-24T15:59:12.530 に答える