如何获得第 1、2、3 周格式碳 laravel
How to get 1st, 2nd, 3rd week format carbon laravel
我需要从 CarbonPeriod 获取第 1、2、3 和 4 周格式。我应该怎么做才能使其成为文本?
$carbonPeriod = CarbonPeriod::create($startDate, '1 week', $endDate);
foreach ($carbonPeriod as $period) {
$startPeriod = clone $period;
$endPeriod = clone $period;
$startRange = $parsedStartDate->gt($startPeriod->startOfWeek()) ? $startDate : $startPeriod->startOfWeek()->format('Y-m-d');
$endRange = $parsedEndDate->lt($endPeriod->endOfWeek()) ? $endDate : $endPeriod->endOfWeek()->format('Y-m-d');
$labels[] = $period->translatedFormat('F D Y'); //i need Jan 1st week 2021, Jan 2nd week 2021 and etc for the labels
}
$CarbonPeriod = Carbon::now()->subDays(20);
$today = Carbon::now();
$weeks = intval(floor(($CarbonPeriod->diff($today)->days) / 7)) . 'st';
结果“第二”
$carbonPeriod = CarbonPeriod::create($startDate, '1 week', $endDate);
foreach ($carbonPeriod as $index => $period) {
$startPeriod = clone $period;
$endPeriod = clone $period;
$startRange = $parsedStartDate->gt($startPeriod->startOfWeek()) ? $startDate : $startPeriod->startOfWeek()->format('Y-m-d');
$endRange = $parsedEndDate->lt($endPeriod->endOfWeek()) ? $endDate : $endPeriod->endOfWeek()->format('Y-m-d');
$labels[] = $carbonPeriod->translate('ordinal', [':number' => $index + 1]);
}
如果我理解正确的话,你想要给定时间段内的序数周。如果确实如此,那么您可以使用以下方法执行您需要的操作:
$locale = 'xxx'; // Replace with your locale here
$nf = new NumberFormatter($locale, NumberFormatter::ORDINAL);
$carbonPeriod = CarbonPeriod::create($startDate, '1 week', $endDate);
foreach ($carbonPeriod as $i => $period) {
$startPeriod = clone $period;
$endPeriod = clone $period;
$startRange = $parsedStartDate->gt($startPeriod->startOfWeek()) ? $startDate : $startPeriod->startOfWeek()->format('Y-m-d');
$endRange = $parsedEndDate->lt($endPeriod->endOfWeek()) ? $endDate : $endPeriod->endOfWeek()->format('Y-m-d');
$ordWeek = $nf->format($i);
$labels[] = $period->translatedFormat('F')." $ordWeek". __("week")." ".$period->translatedFormat('Y'); // Should say "January 1st week 2021
}
请注意,这需要 intl extension
我需要从 CarbonPeriod 获取第 1、2、3 和 4 周格式。我应该怎么做才能使其成为文本?
$carbonPeriod = CarbonPeriod::create($startDate, '1 week', $endDate);
foreach ($carbonPeriod as $period) {
$startPeriod = clone $period;
$endPeriod = clone $period;
$startRange = $parsedStartDate->gt($startPeriod->startOfWeek()) ? $startDate : $startPeriod->startOfWeek()->format('Y-m-d');
$endRange = $parsedEndDate->lt($endPeriod->endOfWeek()) ? $endDate : $endPeriod->endOfWeek()->format('Y-m-d');
$labels[] = $period->translatedFormat('F D Y'); //i need Jan 1st week 2021, Jan 2nd week 2021 and etc for the labels
}
$CarbonPeriod = Carbon::now()->subDays(20);
$today = Carbon::now();
$weeks = intval(floor(($CarbonPeriod->diff($today)->days) / 7)) . 'st';
结果“第二”
$carbonPeriod = CarbonPeriod::create($startDate, '1 week', $endDate);
foreach ($carbonPeriod as $index => $period) {
$startPeriod = clone $period;
$endPeriod = clone $period;
$startRange = $parsedStartDate->gt($startPeriod->startOfWeek()) ? $startDate : $startPeriod->startOfWeek()->format('Y-m-d');
$endRange = $parsedEndDate->lt($endPeriod->endOfWeek()) ? $endDate : $endPeriod->endOfWeek()->format('Y-m-d');
$labels[] = $carbonPeriod->translate('ordinal', [':number' => $index + 1]);
}
如果我理解正确的话,你想要给定时间段内的序数周。如果确实如此,那么您可以使用以下方法执行您需要的操作:
$locale = 'xxx'; // Replace with your locale here
$nf = new NumberFormatter($locale, NumberFormatter::ORDINAL);
$carbonPeriod = CarbonPeriod::create($startDate, '1 week', $endDate);
foreach ($carbonPeriod as $i => $period) {
$startPeriod = clone $period;
$endPeriod = clone $period;
$startRange = $parsedStartDate->gt($startPeriod->startOfWeek()) ? $startDate : $startPeriod->startOfWeek()->format('Y-m-d');
$endRange = $parsedEndDate->lt($endPeriod->endOfWeek()) ? $endDate : $endPeriod->endOfWeek()->format('Y-m-d');
$ordWeek = $nf->format($i);
$labels[] = $period->translatedFormat('F')." $ordWeek". __("week")." ".$period->translatedFormat('Y'); // Should say "January 1st week 2021
}
请注意,这需要 intl extension