Laravel解析日期并以分钟为单位获得差异



嗨,我正在尝试获得分钟差,它总是返回一个正整数,有没有办法我们可以获取整数值。 这是我尝试过的代码

$connections = ChatConnection::all();
foreach ($connections as $con) {
$monthdate = Carbon::parse($con->last_connected_at)->addMinute(5);
$dateDiff = Carbon::now()->diffInMinutes($monthdate);
$this->info($dateDiff);
}

$this->info($dateDiff);,这将始终返回一个正整数。

如果消息连接已存在 5 分钟,我必须检查列发送推送通知。

有没有好办法?

默认情况下,diffInMinutes()始终返回正整数。

为了得到差值的正负值,

您在diffInMinutes()函数中添加false参数,如下所示:

foreach ($connections as $con) {
$monthdate = Carbon::parse($con->last_connected_at)->addMinute(5);
$dateDiff = Carbon::now()->diffInMinutes($monthdate,false);
$this->info($dateDiff);
}

希望你能理解。

last_connected_at添加到模型中的$dates:protected $dates = ['last_connected_at'];然后拉拉维尔总是回馈一个碳实例。

比你可以执行以下操作

$connections = ChatConnection::all();
foreach ($connections as $con) {
if($con->last_connected_at > Carbon::now()->subMinutes(5)){
// Code
}
}

或者重构到这个

$connections = ChatConnection::all();
$connections->each(function($con){
if($con->last_connected_at > Carbon::now()->subMinutes(5)){
// Code
}
});

最新更新