S.M*_*ian 4 php laravel php-carbon laravel-5.2 laravel-5.3
我正在使用此功能来获取两个日期之间的所有星期五:
public function getFridaysInRange($dateFromString, $dateToString)
{
$dateFrom = new \DateTime($dateFromString);
$dateTo = new \DateTime($dateToString);
$dates = [];
if ($dateFrom > $dateTo) {
return $dates;
}
if (1 != $dateFrom->format('N')) {
$dateFrom->modify('next friday');
}
while ($dateFrom <= $dateTo) {
$dates[] = $dateFrom->format('Y-m-d');
$dateFrom->modify('+1 week');
}
return $dates;
}
$this->getFridaysInRange('2017-01-01','2017-01-30');
Run Code Online (Sandbox Code Playgroud)
结果:
array:4 [?
0 => "2017-01-06"
1 => "2017-01-13"
2 => "2017-01-20"
3 => "2017-01-27"
]
Run Code Online (Sandbox Code Playgroud)
carbon上面有什么功能吗?
您可以像这样使用Carbon的所有功能:
$fridays = [];
$startDate = Carbon::parse($fromDate)->next(Carbon::FRIDAY); // Get the first friday.
$endDate = Carbon::parse($toDate);
for ($date = $startDate; $date->lte($endDate); $date->addWeek()) {
$fridays[] = $date->format('Y-m-d');
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2795 次 |
| 最近记录: |