Estoy tratando de descubrir cómo acortar la salida de un método diffForHumans proporcionado por la biblioteca Carbon en laravel.
El formato predeterminado de diffForHumans es algo como esto: ( de la documentación )
Al comparar un valor en el pasado con el valor predeterminado ahora:
hace 5 meses
1 hora antes
Pero quiero que la salida sea algo como:
¿Cómo puedo conseguir esto?
Según el código fuente de 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) { ... } para eliminar modificadores, pase el segundo parámetro como true y para obtener una versión abreviada del tiempo, pase el tercer parámetro como true
código fuente en
vendor/nesbot/carbon/src/Carbon/Carbon.phpCarbon le da la opción de eliminar 'ago'
$tiempo = \Carbon\Carbon::now()->subMinutes(1)->diffForHumans(null, true)
si necesita usar como '1 h, 5 minutos', simplemente str_replace(['hours', 'minutes'], ['h', 'mins'], $time) ;
para Just now , necesita especificar cuánto tiempo es just now .