4

私はこれで最後の木曜日を取得できることを知っています

$firstdate = strtotime('last thursday');

ただし、この質問を投稿した時点で、それは返されます

August 2nd, 2012

必要なのは、この 2 週間のサイクルに続く最後の木曜日です。

  • 8月9日
  • 8月23日
  • 9月6日
  • 9月20日

その後は毎週木曜日。

  • したがって、現在の日付が 8 月 10 日の場合、8 月 9 日が返されます。

  • 現在の日付が 8 月 21 日の場合、8 月 9 日も返されます (前の木曜日が 8 月 16 日であっても)。

  • 現在の日付が 8 月 24 日の場合、8 月 23 日が返されます。

  • 現在の日付が 9 月 1 日の場合、8 月 23 日も返されます (前の木曜日が 8 月 30 日であっても)。

4

1 に答える 1

4

週番号を使用します。

あなたが望むのは、偶数の週の木曜日です。

これを行う1つの方法は次のとおりです。

function getLastEvenWeekThursday()
{
    $lastThursday = strtotime('last thursday');
    $weeknumber = date("W", $lastThursday);
    if($weeknumber % 2 == 0)
        return $lastThursday;
    else
        return $lastThursday - 3600*24*7;
}
于 2012-08-09T19:26:11.643 に答える