Laravel时间显示问题
程序员文章站
2022-06-17 16:23:43
...
Laravel时间显示问题,我想让时间这样显示:
比如:一篇文章的发表时间:
**距离现在时间** **显示格式**
10天 直接显示日期
应该怎么做呢?
回复内容:
Laravel时间显示问题,我想让时间这样显示:
比如:一篇文章的发表时间:
**距离现在时间** **显示格式**
10天 直接显示日期
应该怎么做呢?
Laravel 本身有对 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() 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 }}; // 视图中直接显示
更多 Laravel 的讨论学习,请到我的小站:https://laravist.com
亲测: Laravel 5.1 和 5.2 都OK
时间问题前端处理可能会对服务器压力小点,有一个moment.js你可以试一下
moment.js
public function formatDate($time = 0){
$tmp = time() - $time;
if($tmp && $tmp 60 * 60 && $tmp 60 * 60 * 24 && $tmp
推荐阅读
-
完美解决input[type=number]无法显示非数字字符的问题
-
关于vue v-for 循环问题(一行显示四个,每一行的最右边那个计算属性)
-
快速解决Vue项目在IE浏览器中显示空白的问题
-
分享Android平板电脑上开发应用程序不能全屏显示的问题解决
-
edius怎么设置图片的显示时间? edius图片持续时间的调节方法
-
详解js实时获取并显示当前时间的方法
-
javascript 定时广告显示(两个时间段) 原创
-
spring boot实现上传图片并在页面上显示及遇到的问题小结
-
在Android开发中人民币符号(¥)显示不一致的问题分析
-
Android动态显示当前年月日时分秒系统时间(示例代码)