Laravel: 检查时间是否过去了 + 4 小时

Laravel: Check if time + 4 hours has passed

我在我的数据库中存储了这样的日期格式:

2017-02-22 16:55:40

我像这样将它添加到我的数据库中:

Carbon::now();

我需要检查自该日期以来是否已过去 4 小时。

我该怎么做?我不知道如何将这种格式转换为 Carbon 或时间戳。

如果您正在使用 Laravel 并且日期是模型中的 Carbon 实例,您可以访问整个 Carbon API。

您可以将 Carbon 的 Difference API 用于此特定目的。

echo $model->thedate->diffInHours($now, false);

如果您的模型不威胁日期作为碳实例,您可以通过将日期添加到当前模型的日期数组中来 [=​​25=]cast 它

 protected $dates = [
    'field_name',
];

查看Date casting了解更多信息

更新 有一个明确的例子

$user = User::first();
// This will return the difference in hours 
$user->created_at->diffInHours(Carbon\Carbon::now(), false);

您可以将其转换为 Carbon 对象:

Carbon::parse('2017-02-22 16:55:40');