我想用存储在updated_at列中的日期和日期显示当前日期和时间之间的时差.但是,我希望它对人类友好,例如:
I want to display the difference between the current date and time with the one stored in the updated_at column. However, I want it to be human-friendly like:
53 mins ago 2 hours ago 3 days ago有没有可以用来简化它的功能?
Is there a function out there that I could use to make it easier?
为确保您了解我,假设我的数据库中有一列(updated_at)等于2015-06-22 20:00:03,当前时间为20:00:28.然后我想看看:
To be sure that you understand me, let's say I have a column (updated_at) in my database which is equal to 2015-06-22 20:00:03 and the current time is 20:00:28. Then I'd like to see:
25 mins ago当它高于59分钟时,我只想显示几小时,而当它高于24小时时,我想看看多少天前.
When it's higher than 59 minutes, I want to show only hours and when it's higher than 24 hours I'd like to see how many days ago.
推荐答案默认情况下,Eloquent将created_at和updated_at列转换为碳.因此,如果您要使用Eloquent来获取数据,则可以按照以下步骤进行操作.
By default, Eloquent converts created_at and updated_at columns to instances of Carbon. So if you are fetching the data using Eloquent, then you can do it as below.
$object->updated_at->diffForHumans();如果要自定义将自动突变的字段,则可以在模型中根据需要自定义它们.
If you want to customize the fields that will be mutated automatically, then within your model, you can customize them as you wish.
// Carbon instance fields protected $dates = ['created_at', 'updated_at', 'deleted_at'];更多推荐
如何使用Laravel 5以人类可读的格式获取时差?
发布评论