Php 根据字符串获取一周的开始和结束日期

Php 根据字符串获取一周的开始和结束日期,php,laravel,laravel-5,Php,Laravel,Laravel 5,我想显示一周的开始日期和结束日期,所以我的字符串像2W4、1W2、3W3、1W1,2W4、 我想根据字符串和从星期天到星期六的开始日期和结束日期创建星期数组的开始日期和结束日期 若有人有解决办法,请发邮件给我。若问错了,请忽略 谢谢。试试我的php代码: 发件人: W:ISO-8601年的周数,从周一开始的周数 一年中的第一个日历周包括该年的第一个星期四 所以我必须休息一天,直到开始一周的日期 我假设这几周对应于今年 输入字符串: $weeksString = "2W4,1W2

我想显示一周的开始日期和结束日期<我有一个日期和一个字符串像1W4,在1W4考虑4周和1次访问< /强>,所以我的字符串像2W4、1W2、3W3、1W1,2W4、

我想根据字符串和从星期天到星期六的开始日期和结束日期创建星期数组的开始日期和结束日期

若有人有解决办法,请发邮件给我。若问错了,请忽略

谢谢。

试试我的php代码:

发件人:

  • W:ISO-8601年的周数,从周一开始的周数

  • 一年中的第一个日历周包括该年的第一个星期四

所以我必须休息一天,直到开始一周的日期

我假设这几周对应于今年

输入字符串:

$weeksString = "2W4,1W2,3W3,1W1,2W4";
代码:


你的问题不清楚?你能告诉我们实现还是共享一些代码,这样我们就可以猜出这个问题了。想要做周开始和结束日期数组,根据字符串考虑星期。也许你可以用碳来做这个:谢谢你的反应,工作得很好,但是在我的情况下,开始日期固定,如果4周,然后根据4周增加星期开始日期和结束日期,如果是2周,那么再加上2周。不客气!所以,你有一个开始日期,想加上一周,两周,等等,对吗?您可以执行类似于“我的内部循环”的操作来计算开始日期:“$startDate=date(“Y-m-d”,strottime($fixDate.+n天”)”,其中n是:周数*7。
<?php

$weeksArray = explode(",", $weeksString);

$result = array();

foreach($weeksArray as $visitsWeek) {
    list($visits, $week) = explode("W", $visitsWeek);

    $startDate = date("Y-m-d", strtotime(date("Y") . "W" . str_pad($week, 2, "0", STR_PAD_LEFT) . " -1 days"));

    $endDate = date("Y-m-d", strtotime($startDate . " +6 days"));

    $result[] = array("week" => $week, "startDate" => $startDate, "endDate" => $endDate);
}

?>
array ( 0 => array ( 'week' => '4', 'startDate' => '2021-01-24', 'endDate' => '2021-01-30', ), 1 => array ( 'week' => '2', 'startDate' => '2021-01-10', 'endDate' => '2021-01-16', ), 2 => array ( 'week' => '3', 'startDate' => '2021-01-17', 'endDate' => '2021-01-23', ), 3 => array ( 'week' => '1', 'startDate' => '2021-01-03', 'endDate' => '2021-01-09', ), 4 => array ( 'week' => '4', 'startDate' => '2021-01-24', 'endDate' => '2021-01-30', ), )