如何获得“每个月的第一个星期四”的DatePeriod?
问题描述:
我有两个DateTime
-objects:如何获得“每个月的第一个星期四”的DatePeriod?
$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);
有谁知道我能做到这一点?
答
我挣扎与此持续两个小时 - 只要我张贴在这里我得到了解决。 我只需要将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的岩石;-)
笑......我正要张贴......你怎么知道我在想 – Baba 2012-04-05 08:34:40
+1,很好的解决方案 – safarov 2012-04-05 08:38:18