Php 使用CArbon创建具有未来日期的DatePeriod数组
我有一个Php 使用CArbon创建具有未来日期的DatePeriod数组,php,arrays,database,date,php-carbon,Php,Arrays,Database,Date,Php Carbon,我有一个课程模型,它在我的数据库中包含一个开始日期列。从这个start\u date我想为一周中的那一天生成一个接下来6周的数组 e、 例如,如果开始日期是2017年12月4日星期一,我想生成一个包含前6个星期一的数组,其中该数组还包括原始开始日期以及第6个日期 以下是我在我的模型中尝试的逻辑: use Carbon\Carbon; use Carbon\CarbonInterval; class Product { public function getRange($date
课程
模型,它在我的数据库中包含一个开始日期
列。从这个start\u date
我想为一周中的那一天生成一个接下来6周的数组
e、 例如,如果开始日期
是2017年12月4日星期一,我想生成一个包含前6个星期一的数组,其中该数组还包括原始开始日期
以及第6个日期
以下是我在我的模型中尝试的逻辑:
use Carbon\Carbon;
use Carbon\CarbonInterval;
class Product {
public function getRange($date) {
return new \DatePeriod(
Carbon::parse($date),
CarbonInterval::week(),
Carbon::parse($date)->addWeeks(6)
);
}
}
但是,当我尝试在模板中输出此内容时,出现以下错误:
在呈现模板期间引发了异常
(“无法将DatePeriod类的对象转换为字符串”)
建议?您的异常告诉我您正在尝试使用
echo
、print``或模板引擎方法输出对象。实际上,您使用的是一个
DatePeriod``对象作为字符串。相反,它应该这样使用:
$startDate = new DateTime();
$endDate = new DateTime();
$endDate->modify('+7 days');
$interval = new DateInterval('P1D');
$dateRange = new DatePeriod($startDate, $interval ,$endDate);
您的模板:
<?php foreach($dateRange as $date): ?>
<?= $date->format("Ymd"); ?><br />
<?php endforeach; ?>
希望这有帮助。您的异常告诉我您正在尝试使用
echo
、print``或模板引擎方法输出对象。实际上,您使用的是一个
DatePeriod``对象作为字符串。相反,它应该这样使用:
$startDate = new DateTime();
$endDate = new DateTime();
$endDate->modify('+7 days');
$interval = new DateInterval('P1D');
$dateRange = new DatePeriod($startDate, $interval ,$endDate);
您的模板:
<?php foreach($dateRange as $date): ?>
<?= $date->format("Ymd"); ?><br />
<?php endforeach; ?>
希望这有帮助。根据您的例外情况,您的
DatePeriod
对象很好。在你看来,你处理这件事的方式是错误的。看看你的模板。根据你的例外,你的DatePeriod
对象很好。在你看来,你处理这件事的方式是错误的。看看你的模板。