博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Laravel 项目使用 Carbon 人性化显示文章发表时间
阅读量:6934 次
发布时间:2019-06-27

本文共 819 字,大约阅读时间需要 2 分钟。

比如说有这样一个需求:一篇文章的发表时间:

**距离现在时间**      **显示格式**< 1小时                 xx分钟前1小时-24小时            xx小时前 1天-10天 xx天前 >10天 直接显示日期

针对这样的需求,可以利用 Carbon 的尝试下面的解决方案:

首先:

在你的app/Providers/AppServiceProvider.php中添 \Carbon\Carbon::setLocale('zh');这一行到boot()方法当中,(为了中文化显示)

public function boot() { \Carbon\Carbon::setLocale('zh'); }

第二:

Article的 Model 中添加下面的方法:

public function getCreatedAtAttribute($date) { if (Carbon::now() < Carbon::parse($date)->addDays(10)) { return Carbon::parse($date); } return Carbon::parse($date)->diffForHumans(); }

这里注意到使用到了 Laravel 的 getXXXAttribute() 的特性,如果你是其他的字段,比如published_at,方法应该写成 getPublishedAtAttribute($date),别忘了在Article头部use Carbon\Carbon;

最后:

直接显示你的日期就好:

$article = \App\Article::find(7);{
{ $article->created_at }}; // 视图中直接显示

转载于:https://www.cnblogs.com/lamp01/p/8443132.html

你可能感兴趣的文章
几道有意思的逻辑分析题
查看>>
Cracking the coding interview--Q1.2
查看>>
Permission denied: user=root, access=WRITE, inode="/":hadoopuser:supergroup:drwxr-xr-x
查看>>
p-unit - 单元级别开源性能测试框架
查看>>
WinForm 实现两个容器之间控件的拖动及排列(图文)
查看>>
C/C++版数据结构之链表<三>
查看>>
CentOS下实现postgresql开机自启动
查看>>
libxml解析的attributes参数理解
查看>>
VK Cup 2012 Qualification Round 1 E. Phone Talks
查看>>
volcanol_Linux_问题汇总系列_1_系统引导过程中到check filesystem时就无法继续引导问题解决方法。...
查看>>
XP局域网访问无权限、不能互相访问问题的完整解决方案
查看>>
使用xml布局菜单
查看>>
我的大学四年
查看>>
编译可在Android上运行的qemu user mode
查看>>
职业规划
查看>>
局域网通知系统(消息群发)
查看>>
Linux启动界面切换:图形界面-字符界面(转)
查看>>
ORA-12154: TNS: 无法解析指定的连接标识符
查看>>
|DataDirectory|的使用
查看>>
01 背包问题 --- 待续 - -
查看>>