Laravel Carbon上周开始+结束?

juzqafwq  于 2023-05-19  发布在  其他
关注(0)|答案(4)|浏览(144)

我有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

如何在上周开始使用碳,...这样我就能得到

$startoflasttweek  = 2020-02-10 00:00:00
$endoflastweek  = 2020-02-16 23:59:59
egdjgwm8

egdjgwm81#

您可以从当前周的开始减去7天,也可以从现在开始减去7天,然后获得本周的开始。

$startOfCurrentWeek = Carbon::now()->startOfWeek(); 

$startOfLastWeek  = $startOfCurrentWeek->copy()->subDays(7);
$startOfLastWeek  = Carbon::now()->subDays(7)->startOfWeek();

最后一周也是一样。

2ekbmq32

2ekbmq322#

Porloscerros的答案是正确的,但需要一点修正:

$startOfCurrentWeek = Carbon::now()->startOfWeek(); 

$startOfLastWeek  = $startOfCurrentWeek->copy()->subDays(7);

$startOfLastWeek  = Carbon::now()->subDays(7)->startOfWeek()->endOfDay();

使用->***endOfDay()这将返回23:59:59 9999.99而不是00:00:00(一天的开始)
也可以使用
->endOfWeek()***获得相同的结果

1yjd4xko

1yjd4xko3#

与上面的答案类似,但更清楚:

$startOfLastWeek = Carbon::now()->subDays(7)->startOfWeek();
$endOfLastWeek = Carbon::now()->subDays(7)->endOfWeek();

1.它从当前时间(到上周)减去7天,startOfWeek获得该周的开始日期和时间。
1.它从当前时间(到上周)减去7天,endOfWeek得到该周的结束日期和时间。

结果/示例?

如果当前时间为2022-04-27 00:00:00.0 UTC(+00:00),则结果如下:

  1. 2022-04-18 00:00:00.0 UTC(+00:00)
  2. 2022-04-24 23:59:59.999999 UTC(+00:00)
wqnecbli

wqnecbli4#

您可以简单地使用

now()->subWeek()->startOfWeek();

从上周开始

now()->subWeek()->endOfWeek();

获取上周的日期。
就像执行now()->subDays(7)->startOfWeek();now()->subDays(7)->endOfWeek();一样

相关问题