将PHP日期转换为这样的格式的最佳方法是什么:
3d ago
18h ago
必须为每个项目实现此功能可能很烦人。
答案 0 :(得分:2)
我能够得到的最好的东西就是这种模型方法:
public function getTimeAgo($carbonObject) {
return str_ireplace(
[' seconds', ' second', ' minutes', ' minute', ' hours', ' hour', ' days', ' day', ' weeks', ' week'],
['s', 's', 'm', 'm', 'h', 'h', 'd', 'd', 'w', 'w'],
$carbonObject->diffForHumans()
);
}
使用它:
$message->getTimeAgo($message->created_at);
示例输出:
2d ago
3w ago
注意: Carbon->diffForHumans()
实际上会返回3 days ago
和18 hours ago
所以我需要使用str_ireplace
函数