feat : rank

This commit is contained in:
2025-04-08 17:59:24 +08:00
parent 35abf99854
commit edb295cbe2
10 changed files with 495 additions and 0 deletions

View File

@@ -2,6 +2,9 @@
namespace App\Extend;
use DateMalformedStringException;
use DateTime;
class DateUtil
{
public const MINUTE = 60; // 分
@@ -126,4 +129,63 @@ class DateUtil
return $date;
}
static function getThisWeekInfo(): array
{
// 获取当前时间
$now = new DateTime();
// 获取开始日期 (周一)
$startOfWeek = clone $now;
$startOfWeek->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,
];
}
}