Reputation: 11636
I'm trying to figure out how to shorten the output from a diffForHumans
method provided by the Carbon library in laravel.
The default format of diffForHumans
is something like this:(from documentation)
When comparing a value in the past to default now:
5 months ago
1 hour ago
But I want the output to be something like:
How can I achieve this?
Upvotes: 11
Views: 9321
Reputation: 2505
Carbon give you an option to remove 'ago'
$time = \Carbon\Carbon::now()->subMinutes(1)->diffForHumans(null, true)
if you need use like '1 h, 5 mins', just str_replace(['hours', 'minutes'], ['h', 'mins'], $time)
;
for Just now
, you need to specify how long is just now
.
Upvotes: 9
Reputation: 7972
As per the source code for diffForHumans
/**
* Get the difference in a human readable format in the current locale.
*
*
* @param Carbon|null $other
* @param bool $absolute removes time difference modifiers ago, after, etc
* @param bool $short displays short format of time units
*
* @return string
*/
public function diffForHumans(Carbon $other = null, $absolute = false, $short = false) {
...
}
to remove modifiers, pass the second parameter as true
and to get shortened version of time pass the third parameter as true
Source code at
vendor/nesbot/carbon/src/Carbon/Carbon.php
Upvotes: 15