碳日期x下个月的y周日,即第4个星期一

时间:2016-09-24 21:57:13

标签: php date php-carbon

我希望在下个月的第y周,也就是下个月的第4个星期一(或任意几个月之后)添加第x天。

我可以用

之类的东西生成我现在的位置
$day = $date->dayOfWeek;
$week = $date->weekOfMonth;

但我正在努力弄清楚如何操纵$date来达到我想要的位置。另一种方法是使用PHP的相对格式http://php.net/manual/en/datetime.formats.relative.php 但如果可以的话,我宁愿坚持使用碳。

另一种可能性是使用

转到本月的第一天
$date->addMonth();
$date->day = 1;

然后做一个循环来找到正确的一天,然后添加几周,但这似乎有点像黑客。

2 个答案:

答案 0 :(得分:0)

试试此代码

<?php
    echo date('F jS, Y', strtotime('next Monday 2012-04-01'));
?>

答案 1 :(得分:0)

我最终做了:

$day = $date->dayOfWeek();
$week = $date->weekOfMonth();

$date->addMonth();
$date->day = 1;    //Move to first of the month

while($date->dayOfWeek != $day)
{
    $date->addDay();    //Cycle through days until we get to correct day of the week
}

$date->addWeeks($week - 1);