原本时间2021-10-14 22:55:14
,格式化为 2秒前
这种格式
我们可以使用composer中的nesbot/carbon
库来进行处理
类似JavaScript中的Moment.js
composer require nesbot/carbon
本地化
在app/AppService.php 中 添加
Carbon::setLocale('zh')
使用
文档:https://packagist.org/packages/nesbot/carbon
$res = Carbon::parse('2019-07-23 14:51')->diffForHumans();//2年前
也可以在模型中对特定需求的字段进行转换
public function getLastUpdateTimeAttr()
{
return Carbon::parse($this->articles()->max('update_time', false))->diffForHumans();
}
自己动手转换思路
//把时间戳转换为几分钟或几小时前或几天前
function wordTime($time) {
$time = (int) substr($time, 0, 10);
$int = time() - $time;
$str = '';
if ($int <= 30){
$str = sprintf('刚刚', $int);
}elseif ($int < 60){
$str = sprintf('%d秒前', $int);
}elseif ($int < 3600){
$str = sprintf('%d分钟前', floor($int / 60));
}elseif ($int < 86400){
$str = sprintf('%d小时前', floor($int / 3600));
}elseif ($int < 2592000){
$str = sprintf('%d天前', floor($int / 86400));
}else{
$str = date('Y-m-d H:i:s', $time);
}
return $str;
}