modify('Monday this week'); // 获取上周的结束日期 (周日) $endOfWeek = clone $now; $endOfWeek->modify('Sunday this week'); // 获取上周是当年的第几周 $weekNumber = $now->format('W'); $year = $now->format('o'); return [ 'start_date' => $startOfWeek->format('Y-m-d'), 'end_date' => $endOfWeek->format('Y-m-d'), 'week_number' => (int)$weekNumber, 'year' => (int)$year, ]; } /** * @return array * @throws DateMalformedStringException */ static function getLastWeekInfo(): array { // 获取当前时间 $now = new DateTime(); // 获取上周的时间 $lastWeek = clone $now; $lastWeek->modify('-1 week'); // 获取上周的开始日期 (周一) $startOfWeek = clone $lastWeek; $startOfWeek->modify('Monday this week'); // 获取上周的结束日期 (周日) $endOfWeek = clone $lastWeek; $endOfWeek->modify('Sunday this week'); // 获取上周是当年的第几周 $weekNumber = $lastWeek->format('W'); $year = $lastWeek->format('o'); return [ 'start_date' => $startOfWeek->format('Y-m-d'), 'end_date' => $endOfWeek->format('Y-m-d'), 'week_number' => (int)$weekNumber, 'year' => (int)$year, ]; } }