4

我有两个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);

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

4

1 回答 1

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);

作品!日期时间摇滚 ;-)

于 2012-04-05T08:32:59.107 回答