返回对字符串成员函数 format() 的调用的日期格式

Date format returning Call to a member function format() on string

我有以下创建日期数组 'start' 和 'end' 之间的日期。

use Carbon\Carbon;
$from = Carbon::createFromFormat('U', $start);
$to   = Carbon::createFromFormat('U', $end);

$dates = [];
for ($date = $from; $date->lte($to); $date->addDay()) {
    $dates[] = $date->format('d-m-y');
}

我需要将日期的输出格式化为 2020 年 10 月 4 日的格式。当我尝试转换日期时,它当前返回错误 'Call to a member function format() on string'。

foreach ($dates as $date) :
  echo $date;
endforeach;

我需要将日期初始设置为 d-m-y 格式以进行此比较:

foreach ($events as $event) :
    if (date('d-m-y', $event->start) === $date) : 
        .....further processing
    endif;
endforeach;

Carbon 实例的范围通常用 CarbonPeriod 处理: https://carbon.nesbot.com/docs/#api-period

use Carbon\Carbon;

$dates = Carbon::parse('@' . $start)->daysUntil('@' . $end);

显示:

foreach ($dates as $date) :
    echo $date->format('d F Y');
endforeach;

比较:

foreach ($events as $event) :
    if ($event->start->isSameDay($date)) : 
        .....further processing
    endif;
endforeach;