Laravel 项目使用 Carbon 人性化显示文章发表时间

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

**距离现在时间**      **显示格式**

< 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 }}; // 视图中直接显示

来源:Laravel 项目使用 Carbon 人性化显示文章发表时间

原文地址:https://www.cnblogs.com/lamp01/p/8443132.html

时间: 2024-10-16 12:51:35

Laravel 项目使用 Carbon 人性化显示文章发表时间的相关文章

Sql批量修改帝国cms文章发布时间(需unix时间,否则会变为1970-01-01)

在迁移网站时,有时我们需要将帝国cms文章发表时间批量修改为当前时间,在帝国cms后台→系统设置→备份与恢复数据→执行sql语句: update phome_ecms_news set newstime = '2014-07-03'; (ps:phome这个是默认的数据库表前缀,如果创建数据库时有设置成其他的可以自行修改) 这样执行sql语句后刷新所有文章,你会发现时间变为了1970-01-01,这是因为newstime这个类型是int(10),必须是unix时间戳,所以我们必须先把当前时间转换

Laravel大型项目系列教程(三)之显示文章列表和用户修改文章

小 编心语:不知不觉已经第四部分了,非常感谢很多人给小编提的意见,改了很多bug,希望以后能继续帮小编找找茬~小编也不希望误导大家~这一节,主要讲的 是如何显示文章列表和让用户修改文章,小编预告一下(一共有八节哦)如果有不懂得地方,或者本文呢没有讲清楚的地方,敬请期待下一章节. 一.前言 上节教程中实现了发布文章的功能,本节教程中将大概实现在首页和用户主页分页显示文章和标签列表.用户能够修改删除文章. 二.Let's go 1.首页显示文章和标签列表 我们需要在首页显示文章和标签列表,修改vie

Laravel大型项目系列教程(四)显示文章列表和用户修改文章

小编心语:不知不觉已经第四部分了,非常感谢很多人给小编提的意见,改了很多bug,希望以后能继续帮小编找找茬~小编也不希望误导大家~这一节,主要讲的 是如何显示文章列表和让用户修改文章,小编预告一下(一共有八节哦)如果有不懂得地方,或者本文呢没有讲清楚的地方,敬请期待下一章节. 一.前言 上节教程中实现了发布文章的功能,本节教程中将大概实现在首页和用户主页分页显示文章和标签列表.用户能够修改删除文章. 二.Let's go 1.首页显示文章和标签列表 我们需要在首页显示文章和标签列表,修改view

laravel大型项目系列教程(四)之显示文章列表和用户修改文章

小编心语:不知不觉已经第四部分了,非常感谢很多人给小编提的意见,改了很多bug,希望以后能继续帮小编找找茬~小编也不希望误导大家~这一节,主要讲的是如何显示文章列表和让用户修改文章,小编预告一下(一共有八节哦)如果有不懂得地方,或者本文呢没有讲清楚的地方,敬请期待下一章节. 一.前言 上节教程中实现了发布文章的功能,本节教程中将大概实现在首页和用户主页分页显示文章和标签列表.用户能够修改删除文章. 二.Let's go 1.首页显示文章和标签列表 我们需要在首页显示文章和标签列表,修改views

Laravel 项目运行 phpunit 测试结果只显示点号

在laravel 项目的根目录下,运行 phpunit 只显示 点号的情况 我尝试将 tests/Unit 和 tests/Feature 目录将 ExampleTest.php 文件删除,然后再运行phpunit,就不只显示点号了 其中尝试了另外安装phpunit,降低 Laravel 安装的版本,重新安装一个vagrant LNMP环境,同一个项目运行 phpunit 都是只显示点号 看到 Homestead中运行 phpunit是运行 vendor/bin/phpunit的文件 在 Hom

WordPress主题开发实例:显示最新发表文章

实现效果 制作网站的时候,想在页面左栏显示最新发表的文章,如: 一.先开启侧边栏工具,在functions.php加上 $args = array( 'name' => __( '分类侧边栏'), 'id' => 'cat-01', 'description' => '将在分类页显示侧边栏', 'class' => '', 'before_widget' => '<li id="%1$s" class="widget %2$s"&

转:Laravel 项目开发规范

文件介绍很好 值得细细看看 https://www.jianshu.com/p/e464a35e5ed2 https://learnku.com/docs/laravel-specification/5.5 一. 说明 以下内容大部分引用Laravel China社区的文章 - 分享下团队的开发规范 ——<Laravel 项目开发规范>.相对而言,上面引用的文章的规范更加严格,但考虑到目前的情况,会适当地对一些规范进行更改和增删. 二. 目的 暂无 三. 优点 规范有一下优点: 高效编码 -

Chart.js在Laravel项目中的应用

本文为转载,原文:Chart.js在Laravel项目中的应用 介绍 Chart.js是一个HTML5图表库,使用canvas元素来展示各式各样的客户端图表,支持折线图.柱形图.雷达图.饼图.环形图等, 本文将介绍如何在laravel项目中使用chart.js 安装 可以通过以下命令在 npm 或 bower 中来安装chart.js. npm install chart.js --save bower install chart.js --save 可以在你的项目中使用 CDN link. h

laravel项目1myPersimmon学习

归类用法 p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 12.0px ".PingFang SC"; color: #454545 } p.p2 { margin: 0.0px 0.0px 0.0px 0.0px; font: 12.0px "Helvetica Neue"; color: #454545 } p.p3 { margin: 0.0px 0.0px 0.0px 0.0px; font: 12.0px &qu