php – How do I get the difference of time in human readable format with Laravel 5?-ThrowExceptions

Exception or error:

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?

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

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.

How to solve:

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.


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'];


incase of the date is in a string format, use laravel Carbon;

 {{ \Carbon\Carbon::parse($on_revision->assignment->deadline)->diffForhumans() }}

Notice how I wrap my string in the carbon::parse()

Leave a Reply

Your email address will not be published. Required fields are marked *