'Laravel Carbon get start + end of last week?
I have laravel carbon for get start + end of current week :
$startofcurrentweek =Carbon::now()->startOfWeek(); //2020-02-17 00:00:00
$endofcurrentweek =Carbon::now()->endOfWeek(); //2020-02-23 23:59:59
How To get Start of Last Week using carbon ,... So i can get,
$startoflasttweek  = 2020-02-10 00:00:00
$endoflastweek  = 2020-02-16 23:59:59
							
						Solution 1:[1]
You can subtract 7 days to the start of current week or subtract 7 days from now and get the start of the week.
$startOfCurrentWeek = Carbon::now()->startOfWeek(); 
$startOfLastWeek  = $startOfCurrentWeek->copy()->subDays(7);
$startOfLastWeek  = Carbon::now()->subDays(7)->startOfWeek();
And the same to get the end of the last week.
Solution 2:[2]
The answer of Porloscerros is correct but need a little bit fix:
$startOfCurrentWeek = Carbon::now()->startOfWeek(); 
$startOfLastWeek  = $startOfCurrentWeek->copy()->subDays(7);
$startOfLastWeek  = Carbon::now()->subDays(7)->startOfWeek()->endOfDay();
with ->endOfDay() This will return 23:59:59 9999.99 instead of 00:00:00 (beginning of the day)
or you can use ->endOfWeek() for the same result
Solution 3:[3]
Similar to answers above but more clear:
$startOfLastWeek = Carbon::now()->subDays(7)->startOfWeek();
$endOfLastWeek = Carbon::now()->subDays(7)->endOfWeek();
- It substracts 7 days from the current time (which goes to the last week) and startOfWeek gets the starting date and time of that week.
 - It substracts 7 days from the current time (which goes to the last week) and endOfWeek gets the ending date and time of that week.
 
Result/Example?
If current time is 2022-04-27 00:00:00.0 UTC (+00:00) then it results as follows:
- 2022-04-18 00:00:00.0 UTC (+00:00)
 - 2022-04-24 23:59:59.999999 UTC (+00:00)
 
Sources
This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.
Source: Stack Overflow
| Solution | Source | 
|---|---|
| Solution 1 | MaartenDev | 
| Solution 2 | |
| Solution 3 | 
