laravel - 碳| diffForHumans()缩短版?

时间:2017-05-02 07:03:54

标签: php laravel date laravel-5.4 php-carbon

我试图弄清楚如何缩短laravel中Carbon库提供的diffForHumans方法的输出。

diffForHumans的默认格式如下: from documentation

  • 将过去的值与默认值进行比较时:

    1. 5个月前

    2. 1小时前

但我希望输出类似于:

  1. 1小时
  2. 5分钟
  3. 5个月
  4. 2年
  5. 刚才
  6. 我怎样才能做到这一点?

2 个答案:

答案 0 :(得分:4)

Carbon为您提供了删除'前'的选项

$ time = \ Carbon \ Carbon :: now() - > subMinutes(1) - > diffForHumans(null,true)

enter image description here

如果您需要使用'1小时,5分钟',只需str_replace(['hours', 'minutes'], ['h', 'mins'], $time);

对于Just now,您需要指定just now的时长。

答案 1 :(得分:3)

根据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) {
    ...
}

删除修饰符,将第二个参数作为true传递,并将缩短的时间版本传递给第三个参数true

的源代码
vendor/nesbot/carbon/src/Carbon/Carbon.php