我想显示当前日期和时间与updated_at
列中存储的日期和时间之间的差异。但是,我希望它像人类一样友好:
53 mins ago
2 hours ago
3 days ago
是否有可以使用的功能让它变得更容易?
为了确保您了解我,请假设我的数据库中有一列(updated_at
),该列等于2015-06-22 20:00:03
且当前时间为20:00:28
。然后我想看看:
25 mins ago
当它高于59分钟时,我想只显示几个小时,当它超过24小时时,我想看看多少天前。
答案 0 :(得分:53)
默认情况下,Eloquent会将created_at
和updated_at
列转换为Carbon的实例。因此,如果您使用Eloquent获取数据,则可以执行以下操作。
$object->updated_at->diffForHumans();
如果要自定义将自动变异的字段,则可以在模型中根据需要自定义它们。
// Carbon instance fields
protected $dates = ['created_at', 'updated_at', 'deleted_at'];
答案 1 :(得分:0)
如果日期是字符串格式,请使用laravel Carbon; 例如,
{{ \Carbon\Carbon::parse($on_revision->assignment->deadline)->diffForhumans() }}
注意我如何将字符串包装在carbon :: parse()
中