查找上次登录时间(小时)

时间:2016-06-02 11:55:46

标签: laravel

你好,我想这样做是为了找出用户的上次登录时间,并想知道Api当前时间和上次登录时间的差异。 我得到的回应是

{     “身份”:“真实”,     “消息”:“上次登录时间成功出现!”,     “dataArray”:[         {             “Lastlogin”:“2016-05-31 23:06:39”         } ] } 我希望得到的回应是

lastLoginTime“:”48小时“,

我的控制器代码是

$ id = $ request-> input('id');

    $user = DB::table('users')
        ->where('id', $id)
        ->select('users.Lastlogin')
        ->get();
    if($user)
    {
        $resultArray = ['status' => 'true', 'message' => 'Last Login Time Appeared Successfully!', 'dataArray' => $user];
        return Response::json($resultArray, 200);
    }
    else{
        $resultArray = ['status' => 'false', 'message' => 'Not Find Last Login Time!'];
        return Response::json( $resultArray, 400);
    }

任何帮助都会受到赞赏。

1 个答案:

答案 0 :(得分:0)

您可以使用碳计算小时,就像那样

$user = DB::table('users')
        ->where('id', $id)
        ->select('users.Lastlogin')
        ->get();
    if($user)
    {
        $lastLogin = \Carbon\Carbon::parse($user->Lastlogin);
        $current = \Carbon\Carbon::parse(date('Y-m-d H:i:s'));
        $diffInHour = $current->diffInHours($lastLogin);

        $resultArray = ['status' => 'true', 'message' => 'Last Login Time Appeared Successfully!', 'dataArray' => $user];
        $resultArray['dataArray']['lastLoginTime'] = $diffInHour.'hours';
        return Response::json($resultArray, 200);
    }
    else{
        $resultArray = ['status' => 'false', 'message' => 'Not Find Last Login Time!'];
        return Response::json( $resultArray, 400);
    }