如何使用碳获得周四的年度

时间:2016-01-19 14:28:14

标签: laravel-5.1 php-carbon

我希望使用Carbon获得一年的所有星期四,并将其保存在数据库中。

到目前为止,我只能存储当月的星期四。请告诉我如何使它成为一年一次。

当前代码:

<svg width="100px" height="150px">
    <g>
        <linearGradient id="a" gradientUnits="userSpaceOnUse" x1="2125.9858">
        </linearGradient>
    </g>
</svg>

1 个答案:

答案 0 :(得分:1)

您可以首先使用WEEKS_PER_YEAR获取每年的周数,例如:

$weeks_per_year = Carbon::WEEKS_PER_YEAR;

之后使用以下内容获得第一个星期四:

$first_thursday = Carbon::parse("first thursday of this year");

然后循环使用碳功能 addWeeks(1)每周一次添加每周,以获得下周的星期四,所以:

for($i=1;$i<$weeks_per_year;$i++)
{
    array_push( $thursdays, $first_thursday->addWeeks(1)->toDateString() );
}

完整代码:

$weeks_per_year = Carbon::WEEKS_PER_YEAR;
$first_thursday = Carbon::parse("first thursday of this year");

$thursdays = [$first_thursday->toDateString()];

for($i=1;$i<$weeks_per_year;$i++)
{
    array_push( $thursdays, $first_thursday->addWeeks(1)->toDateString() );
}

输出

按照以下格式yyyy-mm-dd

的所有年份星期四的数组
["2016-01-07","2016-01-14","2016-01-21", ... ,"2016-12-29"]

或者您可以直接在您的数据库中存储日期,而不是返回如下数组:

for($i=1; $i<$weeks_per_year;$i++){
    $Weeks = new Week();
    $Weeks->week_starting_date = $first_thursday->addWeeks(1)->toDateString();
    $Weeks->save();
}

希望这有帮助。