需求:实现文章创建按年,月,日归类,并如图格式显示。

2018 年

  • 11 月 ( 1 篇文章 )

    • 24日: 你走了真好,不然总担心你要走 (130)
  • 05 月 ( 1 篇文章 )
    • 12日: 后来的我们 (90)
  • 03 月 ( 2 篇文章 )
    • 31日: 年少不懂《还珠3》,看懂已是而立年 (44)
    • 12日: 要么孤独,要么庸俗 (60)

数据库 字段 article_createtime 格式为 timestamp

前端代码

<h3 class="al_year">{$article_res.article_createtime|strtotime|date="Y年",###}</h3>
                        <ul class="al_mon_list">
                            <li><span class="al_mon">{$article_res.article_createtime|strtotime|date="m月",###} <em>、</em></span>
                                <ul class="al_post_list">
                                    <li>{$article_res.article_createtime|strtotime|date="d日",###}:
                                        <a href="https://isujin.com/6643">{$article_res.article_title}</a>
                                        <em>(130)</em>
                                    </li>
                                </ul>
                            </li>
                        </ul>

解释下:

strtotime()把字符串转化为整数时间

date(format, timestamp)把时间戳格式化为更易读的日期和时间

百度上搜索有的答案是:

{$article_res.article_createtime|date="y-m-d",###} ,经测试在timestamp格式下会得到一个异常,但是在int格式正常显示

有的习惯把日期用int格式保存,则{$article_res.article_createtime|date="y-m-d",###}正常显示,但{$article_res.article_createtime|strtotime|date="y-m-d",###}会得到1970-01-01.

需求中仅分别需要显示年,或月,或日,可以通过修改格式内容来获得需要的数据date="y",###    date="m",### date="d",###

date="y年",### :2019年

date="m月",###:11月

date="d日",###: 2日

总结


如果数据库是 timestamp 格式:{$article_res.article_createtime|strtotime|date="y-m-d",###}

如果数据库是 int 格式:{$article_res.article_createtime|date="y-m-d",###}

              {$article_res.article_createtime|date="y-m-d",###}     {$article_res.article_createtime|strtotime|date="y-m-d",###}
timestamp    异常:A non well formed numeric value encountered 正确值
int  正确值  错误值:1970-01-01

Thinkphp 前端视图输出日期时间戳自动转换为时间格式化年月日的更多相关文章

  1. 【Thinkphp5】解决模板输出时间戳自动转换为时间格式的问题

    背景: 数据库存储时间为时间戳,格式为varchar,模板输出时未进行时间格式化却输出了时间格式 如下图 (数据库存储的时间戳) (页面输出的时间) (未进行格式化的时间代码) (格式化后的时间代码) ...

  2. js 将时间戳转成时间格式化

    一.时间戳 时间戳是以时间元年1970年开始算起到当前时间的一个值,以秒为单位,比如1535694719秒,如何转化为我们想要的格式,yyyy/mm/dd或者yyyy-MM-dd hh:mm,格式根据 ...

  3. 【JAVA8新的时间与日期 API】- 传统时间格式化的线程安全问题

    Java8之前的日期和时间API,存在一些问题,最重要的就是线程安全的问题.这些问题都在Java8中的日期和时间API中得到了解决,而且Java8中的日期和时间API更加强大. 传统时间格式化的线程安 ...

  4. XML PUBLISHER输出excel禁止自动将数字格式化处理

    方案1: 在 rtf template 里头添加   =T("域"). 方案2: 加个无中断空格  0xA0               In the rtf template, ...

  5. 010、MySQL日期时间戳转化为文本日期时间

    #时间戳转化文本时间 SELECT from_unixtime( unix_timestamp( curdate( ) ) ); #时间戳转化文本时间格式化 SELECT from_unixtime( ...

  6. python(6)时间戳和北京时间互转,输出当前的时间和推到七天前的日期

    项目发展的需要:(包含时间函数)time datetime 时间戳和北京时间互转 import time import datetime s = '2015-04-17 11:25:30' d = d ...

  7. 3.ThinkPHP入门---视图

    视图:MVC三大组成部分,负责信息的展示和输出 1.视图的创建 创建的位置需要是在分组目录下的view目录下余控制器同名的目录中. 2.视图的展示 在smarty和tinkphp都是使用diaplay ...

  8. 松软科技前端课堂:JavaScript 日期

    JavaScript 日期输出 默认情况下,JavaScript 将使用浏览器的时区并将日期显示为全文本字符串: Tue Apr 02 2019 09:01:19 GMT+0800 (中国标准时间) ...

  9. thinkphp 模板变量输出替换和赋值

    一.变量输出的几个方法 <?php namespace app\index\controller; use http\Params; use think\Config; use think\Co ...

随机推荐

  1. FreeRTOS低功耗模式

    在系统或电源复位以后,微控制器处于运行状态.当CPU不需继续运行时,可以利用多种低功耗模式来节省功耗,例如等待某个外部事件时,用户需要根据最低电源消耗,最快速启动时间和可用的唤醒源等条件,选定一个最佳 ...

  2. 基于Java+HttpClient+TestNG的接口自动化测试框架(四)-------参数存取处理

    在真正开始接口测试之前,我们需要对参数的处理进行梳理.这里所说的“参数”,既包含之前在xml中的配置(我们称之为全局参数),也包含在每一条用例中书写的param.全局参数为固定不变的,而根据接口相应获 ...

  3. Java入门 - 语言基础 - 18.正则表达式

    原文地址:http://www.work100.net/training/java-regular-expression.html 更多教程:光束云 - 免费课程 正则表达式 序号 文内章节 视频 1 ...

  4. 【WPF学习】第十七章 键盘输入

    当用户按下键盘上的一个键时,就会发生一系列事件.下表根据他们的发生顺序列出了这些事件: 表 所有元素的键盘事件(按顺序) 键盘处理永远不会像上面看到的这么简单.一些控件可能会挂起这些事件中的某些事件, ...

  5. 进击.net 三大框架

    spring mybatis NHibernate

  6. html恶搞之无限弹窗

    啦啦啦啦啦 恶搞别人吗? 把下面代码做成html文件发给别人,用浏览器打开就可以看见效果了 <!DOCTYPE html> <html><head><meta ...

  7. laravel 初学路由简单介绍

    文档中的路由详细演示[初学laravel]对应laravel 的框架目录:routes/web.php 路由的格式一:Route::get($uri,$callback); 1.简单的浏览器输出 Ro ...

  8. koa中间执行机制

    start 基于 koa 2.11 按以下流程分析: const Koa = require('koa'); const app = new Koa(); const one = (ctx, next ...

  9. LoadRunner随机数

    需求:自定义随机数 方法: int randomnumber; randomnumber = rand()%+; //100到300的随机数 lr_output_message("ca:%d ...

  10. python学习记录(五)

    20180829--https://www.cnblogs.com/fnng/archive/2013/04/20/3032563.html 字典 字典的使用 现实中的字段及在Python中的字段都进 ...