猿问

如何在 php/laravel 中获取过去 5 周的范围及其开始和结束日期

我想要周范围开始和结束日期最后 5 与当前周范围如下


2019-12-09 : 2019-12-15

2019-12-16 : 2019-12-22

2019-12-23 : 2019-12-29

2019-12-30 : 2020-01-05

2020-01-06 : 2020-01-12

2020-01-13 : 2020-01-19

我能够从以下代码获取当前周范围的开始和结束日期(2020-01-13:2020-01-19)


在控制器中


public function index()

{

    $currentWeekNumber = date("W"); 

    $currentYear = date("Y");  

    $weekArray = $this->getStartAndEndDate($currentWeekNumber,$currentYear);

    return view('mainMenu.timesheetFillLanding', compact('weekArray'));

}


public function getStartAndEndDate($week, $year) 

{

    //Below gives week from mon to sun

    $dto = new DateTime();

    $dto->setISODate($year, $week);

    $ret['start'] = $dto->format('Y-m-d');

    $dto->modify('+6 days');

    $ret['end'] = $dto->format('Y-m-d');

    return $ret;

}

正在查看


{{$weekArray['start']}} : {{$weekArray['end']}} 

我无法获得前一周的范围及其开始和结束日期。我搜索了很多解决方案,但没有帮助。


请帮忙。提前致谢


哆啦的时光机
浏览 148回答 1
1回答

慕姐8265434

试试下面的代码。它为你工作。我已经改变了getStartAndEndDate()功能。public function getStartAndEndDate($week, $year)&nbsp;{&nbsp; &nbsp; //Below gives week from mon to sun&nbsp; &nbsp; $weeks = [];&nbsp; &nbsp; $dto = new DateTime();&nbsp; &nbsp; $dto->setISODate($year, $week);&nbsp; &nbsp;&nbsp;&nbsp; &nbsp; for($i=0;$i<=5;$i++) {&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; &nbsp; &nbsp; &nbsp; $weeks[$i]['start'] = $dto->format('Y-m-d');&nbsp; &nbsp; &nbsp; &nbsp;&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; $dto->modify('+6 days');&nbsp; &nbsp; &nbsp; &nbsp;&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; $weeks[$i]['end'] = $dto->format('Y-m-d');&nbsp; &nbsp; &nbsp; &nbsp;&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; $dto->modify('-13 days');&nbsp; &nbsp;&nbsp; &nbsp; }&nbsp; &nbsp; return array_reverse($weeks);}=> 输出Array(&nbsp; &nbsp; [0] => Array&nbsp; &nbsp; &nbsp; &nbsp; (&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [start] => 2019-12-09&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [end] => 2019-12-15&nbsp; &nbsp; &nbsp; &nbsp; )&nbsp; &nbsp; [1] => Array&nbsp; &nbsp; &nbsp; &nbsp; (&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [start] => 2019-12-16&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [end] => 2019-12-22&nbsp; &nbsp; &nbsp; &nbsp; )&nbsp; &nbsp; [2] => Array&nbsp; &nbsp; &nbsp; &nbsp; (&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [start] => 2019-12-23&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [end] => 2019-12-29&nbsp; &nbsp; &nbsp; &nbsp; )&nbsp; &nbsp; [3] => Array&nbsp; &nbsp; &nbsp; &nbsp; (&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [start] => 2019-12-30&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [end] => 2020-01-05&nbsp; &nbsp; &nbsp; &nbsp; )&nbsp; &nbsp; [4] => Array&nbsp; &nbsp; &nbsp; &nbsp; (&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [start] => 2020-01-06&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [end] => 2020-01-12&nbsp; &nbsp; &nbsp; &nbsp; )&nbsp; &nbsp; [5] => Array&nbsp; &nbsp; &nbsp; &nbsp; (&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [start] => 2020-01-13&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [end] => 2020-01-19&nbsp; &nbsp; &nbsp; &nbsp; ))
随时随地看视频慕课网APP
我要回答