为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

PHP
哆啦的时光机 2022-07-22 10:22:47
我想要周范围开始和结束日期最后 5 与当前周范围如下2019-12-09 : 2019-12-152019-12-16 : 2019-12-222019-12-23 : 2019-12-292019-12-30 : 2020-01-052020-01-06 : 2020-01-122020-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']}} 我无法获得前一周的范围及其开始和结束日期。我搜索了很多解决方案,但没有帮助。请帮忙。提前致谢
查看完整描述

1 回答

?
慕姐8265434

TA贡献1813条经验 获得超2个赞

试试下面的代码。它为你工作。我已经改变了getStartAndEndDate()功能。


public function getStartAndEndDate($week, $year) 

{

    //Below gives week from mon to sun

    $weeks = [];

    $dto = new DateTime();

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

    for($i=0;$i<=5;$i++) {               

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

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

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

        $dto->modify('-13 days');   

    }

    return array_reverse($weeks);

}

=> 输出

Array

(

    [0] => Array

        (

            [start] => 2019-12-09

            [end] => 2019-12-15

        )


    [1] => Array

        (

            [start] => 2019-12-16

            [end] => 2019-12-22

        )


    [2] => Array

        (

            [start] => 2019-12-23

            [end] => 2019-12-29

        )


    [3] => Array

        (

            [start] => 2019-12-30

            [end] => 2020-01-05

        )


    [4] => Array

        (

            [start] => 2020-01-06

            [end] => 2020-01-12

        )


    [5] => Array

        (

            [start] => 2020-01-13

            [end] => 2020-01-19

        )


)


查看完整回答
反对 回复 2022-07-22
  • 1 回答
  • 0 关注
  • 147 浏览

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号