一年中几周的碳清单
Carbon list of weeks in year
我一年有 return 周的功能:
function getWeek(){
$today = \Carbon\Carbon::today();
$date = $today->copy()->firstOfYear()->startOfDay();
$eom = $today->copy()->endOfYear()->startOfDay();
$dates = [];
for($i = 1; $date->lte($eom); $i++){
$startDate = $date->copy();
while($date->dayOfWeek != \Carbon\Carbon::SUNDAY && $date->lte($eom)){
$date->addDay();
}
$dates['w'.$i] = $startDate->format('d/m/Y') . ' - ' . $date->format('d/m/Y');
$date->addDay();
}
return $dates;
}
函数 return 2022 年为 53 周,但 2022 年为 52 周。这是 return $dates
的结果
如何将函数更改为 return 第一个位置 return 一周的完整日期 (27/12/2021 - 02/01/2022) 并且在年份的最后一个位置相同
我想你错了。
w1->w53 = 52 weeks
此解决方案始终显示完整的周数。使用 ISO 8601 周数。
只有日期时间是必需的。为密钥添加了年份,以便它们始终是唯一的。
$year = date_create('today')->format('Y');
//remove comment next line for test's
//$year = 2001;
$dtStart = date_create('2 jan '.$year)->modify('last Monday');
$dtEnd = date_create('last monday of Dec '.$year);
for($weeks = [];$dtStart <= $dtEnd;$dtStart->modify('+1 week')){
$key = $dtStart->format('W-Y');
$from = $dtStart->format('d/m/Y');
$to = (clone $dtStart)->modify('+6 Days')->format('d/m/Y');
$weeks[$key] = $from.' - '.$to;
}
var_export($weeks);
由于不需要碳,你也可以测试一下here。
我一年有 return 周的功能:
function getWeek(){
$today = \Carbon\Carbon::today();
$date = $today->copy()->firstOfYear()->startOfDay();
$eom = $today->copy()->endOfYear()->startOfDay();
$dates = [];
for($i = 1; $date->lte($eom); $i++){
$startDate = $date->copy();
while($date->dayOfWeek != \Carbon\Carbon::SUNDAY && $date->lte($eom)){
$date->addDay();
}
$dates['w'.$i] = $startDate->format('d/m/Y') . ' - ' . $date->format('d/m/Y');
$date->addDay();
}
return $dates;
}
函数 return 2022 年为 53 周,但 2022 年为 52 周。这是 return $dates
如何将函数更改为 return 第一个位置 return 一周的完整日期 (27/12/2021 - 02/01/2022) 并且在年份的最后一个位置相同
我想你错了。
w1->w53 = 52 weeks
此解决方案始终显示完整的周数。使用 ISO 8601 周数。 只有日期时间是必需的。为密钥添加了年份,以便它们始终是唯一的。
$year = date_create('today')->format('Y');
//remove comment next line for test's
//$year = 2001;
$dtStart = date_create('2 jan '.$year)->modify('last Monday');
$dtEnd = date_create('last monday of Dec '.$year);
for($weeks = [];$dtStart <= $dtEnd;$dtStart->modify('+1 week')){
$key = $dtStart->format('W-Y');
$from = $dtStart->format('d/m/Y');
$to = (clone $dtStart)->modify('+6 Days')->format('d/m/Y');
$weeks[$key] = $from.' - '.$to;
}
var_export($weeks);
由于不需要碳,你也可以测试一下here。