在Laravel刀片中获得2个日期时间之间的时差?

时间:2017-05-11 03:29:15

标签: php laravel datetime

我有2个日期时间,第一个是用户的最后登录日期

{{ $message->recipient->last_login }}

出现像" 2017-05-11 02:56:18"以日期时间格式和当前时间

{{ date('Y-m-d H:i:s') }}

以相同的格式出现。

基本上我想要的是获得两次之间的时差。

这样的东西
@if (the time difference between the 2 dates is less than 10 minutes)
do this
@endif

2 个答案:

答案 0 :(得分:4)

您必须选择碳日期。 在控制器中添加以下内容并将其传递给刀片。

$currentTime = Carbon::now();

在刀片模板中使用如下:

@if($currentTime->diffInMinutes($message->recipient->last_login) < 10)
    // your code
@endif

答案 1 :(得分:0)

尝试这个最简单的一个,我们在这里使用strtotime来获得几秒钟的时间。

Laravel刀片语法:

{{intval((strtotime(date('Y-m-d H:i:s'))-strtotime("2017-05-11 02:56:18"))/60)}}

Try this code snippet here

<?php

//getting time difference in seconds.
$secondsDifference=strtotime(date('Y-m-d H:i:s'))-strtotime('2017-05-11 02:56:18');
//converting seconds to minutes.
echo intval($secondsDifference/60);