4

私は2つのオブジェクトを持っていDateTimeます:

$start = new DateTime('first thursday of June 2012');
$end   = new DateTime('2012-12-31');

DatePeriodこの 2 つの日付の間の月の最初の木曜日をすべて含む が必要です。使用時

$interval = new DateInterval('P1M');
$period = new DatePeriod($start, $interval, $end);

これは、条件「最初の木曜日」を尊重せずに 1 か月しか追加しません。

また、このようなものは機能しません:

$interval = DateInterval::createFromDateString('1 month first thursday');
$period = new DatePeriod($start, $interval, $end);

どうすればこれを達成できるか知っている人はいますか?

4

1 に答える 1

5

私はこの2時間これに苦労しました-ここに投稿するとすぐに解決策が得られました。DateInterval文字列を「来月の最初の木曜日」に変更するだけで済みました。

$start = new DateTime('first thursday of June 2012');
$end   = new DateTime('2012-12-31');

$interval = DateInterval::createFromDateString('first thursday of next month');
$period = new DatePeriod($start, $interval, $end);

動作します!DateTimeは揺れる;-)

于 2012-04-05T08:32:59.107 に答える