Php 将dateTime与laravel中的日期进行比较

Php 将dateTime与laravel中的日期进行比较,php,laravel,eloquent,php-carbon,Php,Laravel,Eloquent,Php Carbon,正如标题中所说的,我想将日期与拉雷维尔进行比较 以下是我到目前为止所做的: if(设置($this->date\u filed)&&&!empty($this->date\u filed)&&!empty($this->warranty\u expiration)){ $warranty\u expiration=Carbon::createFromFormat('m-d-Y',$this->warranty\u expiration); $date\u filed=Carbon::create

正如标题中所说的,我想将日期与拉雷维尔进行比较

以下是我到目前为止所做的:

if(设置($this->date\u filed)&&&!empty($this->date\u filed)&&!empty($this->warranty\u expiration)){
$warranty\u expiration=Carbon::createFromFormat('m-d-Y',$this->warranty\u expiration);
$date\u filed=Carbon::createFromFormat('m-d-Y',$this->date\u filed);
$this->with_warranty=$date\u filed->lt($warranty\u expiration)?'Y':'N';
}
如果提交日期小于保修到期日期,则打印Y或N

在我的刀片文件中:


保修期内:
{{$model->with_保修}

但我得到了这个错误:

找不到分隔符号\r\n
尾随数据

我做错了什么?

你可以这么做

$warranty_expiration = date('m-d-Y', strtotime($this->warranty_expiration))
$date_filed = date('m-d-Y', strtotime($this->date_filed))
然后使用相等/较高或相等/较低进行适当比较

您还可以使用“设置属性”添加保修是/否更改时所需的任何内容:

if (isset($this->date_filed) && !empty($this->date_filed) && !empty($this->warranty_expiration)) {
    $warranty_expiration = Carbon::createFromFormat('m-d-Y', $this->warranty_expiration);
    $date_filed = Carbon::createFromFormat('m-d-Y', $this->date_filed);
    $this->with_warranty = $date_filed->lt($warranty_expiration) ? 'Y' : 'N';
}
致:

请参阅更多:


希望它能帮助您。

什么是
var\u dump($this->date\u filed,$this->warranty\u expiration)?[提交日期]=>2019-08-28[保修期满]=>2019-07-15数据是否以数组形式显示?然后听起来你需要使用
$this->date\u filed['date\u filed']
?不。我知道这就是我所缺少的。我试试这个谢谢你修好了吗@阿连布朗:)
if (isset($this->date_filed) && !empty($this->date_filed) && !empty($this->warranty_expiration)) {
    $warranty_expiration = Carbon::parse($this->warranty_expiration)->format('m-d-Y');
    $date_filed = Carbon::parse($this->date_filed)->format('m-d-Y');
    $this->with_warranty = $date_filed->lt($warranty_expiration) ? 'Y' : 'N';
}