如何使用“每月第一个星期四”获得DatePeriod?

时间:2012-04-05 08:18:55

标签: php datetime dateinterval

我有两个DateTime - 对象:

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

我需要一个DatePeriod,其中包含这两个日期之间月份的所有第一个星期四。使用时

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

这只会在不考虑“第一个星期四”的情况下增加1个月。

这样的事情也行不通:

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

有谁知道我怎么做到这一点?

1 个答案:

答案 0 :(得分:5)

过去两个小时我一直在努力 - 一旦我在这里发布,我就得到了解决方案。 我只需要将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岩石; - )