public function get_week($date){
// public const SUNDAY = 0;
// public const MONDAY = 1;
// public const TUESDAY = 2;
// public const WEDNESDAY = 3;
// public const THURSDAY = 4;
// public const FRIDAY = 5;
// public const SATURDAY = 6;
$weekday=Carbon::parse($date)->weekday();
$week_value=[
Carbon::SUNDAY=>1,
Carbon::MONDAY => 2,
Carbon::TUESDAY => 3,
Carbon::WEDNESDAY => 4,
Carbon::THURSDAY => 5,
Carbon::FRIDAY => 6,
Carbon::SATURDAY => 0,
];
var_dump('weekday='.$weekday);
$startOfWeek=Carbon::parse($date)->subDays($week_value[$weekday]);
$startOfWeekY=Carbon::parse($date)->subDays($week_value[$weekday])->startOfYear();
$endOfWeek=Carbon::parse($date)->addDays(6-$week_value[$weekday]);
$endOfWeekY=Carbon::parse($date)->addDays(6-$week_value[$weekday])->startOfYear();
$new_date=Carbon::parse($date)->addDays(6-$week_value[$weekday]);
$days1=$startOfWeekY->startOfYear()->diffInDays(Carbon::parse($new_date));
$days2=$endOfWeekY->startOfYear()->diffInDays(Carbon::parse($new_date));
$week1=(int)round(($days1/7),0);
$week2=(int)round(($days2/7),0);
if($week1>$week2){
if($week1==53 && ($days1-365)>=4)$week=1;
else $week=$week1;
}
else if($week2>$week1){
if($week2==53 && ($days2-365)>=4)$week=1;
else $week=$week2;
}
else $week=$week1;
return['week'=>$week,'startOfWeek'=>$startOfWeek,'endOfWeek'=>$endOfWeek];
}