此问题在此处已有答案:
How to compare two Carbon Timestamps?(4个答案)
3天前关闭。
我必须在list.blade.php中比较两个日期,如
如果今天的日期大于或等于到期日,则执行其他操作。
下面是代码:
@php
use Carbon\Carbon;
$today_date = Carbon::today();
@endphp
@foreach ($entries as $k => $entry)
@if($today_date >= $entry->expire_date)
// do something
@else
// do something
@endif
@endforeach
日期格式:年-月-日
但这行不通。
请帮帮忙
谢谢
编辑:
我试过这个:
<?php
use Carbon\Carbon;
$today_date = Carbon::now();
foreach ($entries as $k => $entry) {
$expire_date = Carbon::createFromFormat('Y-m-d', $entry->expire_date);
}
?>
它会给我这样的错误:image
还有一件事expire_date
在我的数据库中是文本类型的,所以这可能是问题所在。
5条答案
按热度按时间euoag5mw1#
false
参数是可选的,它指示您希望返回的值是绝对值还是相对值,如果传入的日期小于当前示例,则可能带有-(负)符号。这将默认为true,返回绝对值。More here
3qpi33ja2#
使用This =〉Carbon::now();
并将日期格式化为您的格式(YYYY-MM-DD)。将该日期存储在var中,并将该var与到期日期进行比较。
today_date格式有问题。
today_date给予日期和时间。
aemubtdh3#
因为expire_date是文本,所以你需要转换它。幸运的是,使用
Carbon
,很容易做到:然后你可以用它来比较
您可能需要确保
$expire_date
不为null,并且不会首先抛出任何错误。如果您将日期存储在数据库中作为日期或日期时间列,以确保其始终处于正确的格式,这也会更容易,并且您还可以将其作为时间戳添加到模型中,或者将Carbon应用为accessor function。kjthegm64#
您需要首先格式化Cabon日期对象,以匹配DB数据中的日期(字符串)值。
它会被打印出来,因为你的PHP标签是错误的..缺少“?”,应该是
<?PHP
ergxz8rk5#