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

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. Oracle RAC服务器重启故障排查

    Oracle Real Application Clusters(Oracle RAC),相对于Oracle单实例来说部署安装和维护都增加了难度,尤其在日常的维护和故障处理过程中,各种日志的查看更加重 ...

  2. python 安装虚拟环境virtualenv

    1.sudo apt install virtualenv 安装失败 2.sudo apt-get update 更新失败 提示: E: 仓库 “http://mirrors.aliyun.com/u ...

  3. jvm内存模型、常见参数及调优

    JVM内存结构: 主要分为:方法区.堆.虚拟机栈.本地方法栈.程序计数器,其中方法区和堆是线程共享的,其他的都是线程隔离的. 方法区: 主要存放类的信息.静态变量.常量.编译后的方法代码,永久代Per ...

  4. HTML5浏览器支持及兼容性处理

    1.现代的浏览器都支持HTML5. 2.所有浏览器不管是新的还是旧的对无法识别的元素会作为内联元素自动处理. 3.HTML5定义了8个HTML语义元素,所有这些元素都是块级元素,为了能让旧版本的浏览器 ...

  5. LeetCode题目总结-滑窗法

    LeetCode题目总结-滑动窗口法 滑动窗口法:此方法首先建立一个长度为零的窗口,把右侧窗口向右移动,当新的元素与原来窗口中的元素不重复时,把新的元素加入其中,并更新窗口长度:当新的元素与原集合中的 ...

  6. 强大的 Python 任务自动化工具!invoke 十分钟入门指南

    接着前面的<tox 教程>,以及刚翻译好的<nox文档>,我们继续聊聊 Python 任务自动化的话题. nox 的作者在去年的 Pycon US 上,做了一场题为<Br ...

  7. Linux 安装tomcat及tomcat自带远程部署项目与管理

    准备: 1.Linux系统 2.已经安装好jdk 开始: 选择要安装的tomcat版本:https://archive.apache.org/dist/tomcat/ 我这里使用的是tomcat 8. ...

  8. C#系列之Convert类型转换(三)

    知识点一: 类型如果相兼容的两个变量,可以使用自动类型转化或者强制类型转换,但是,如果两个变量不兼容,比如说String和int或者String和Double类型,这个时候我们就需要一种名叫conve ...

  9. 如何快速查看Linux日志?

    因为在生产环境会遇到很多问题,那么最快的定位方式莫过于去看日志,我们都知道服务器每天会产生大量的日志,那么如何快速的定位也就是最关键的. 本文介绍六种查看日志的命令:tail.head.cat.mor ...

  10. MFC对话框和控件

    对话框和控件 对话框是Windows应用程序中一种常用的资源,其主要功能是输出信息和接收用户的输入数据.控件是嵌入在对话框中或其它父窗口中的一个特殊的小窗口,它用于完成不同的输入.输出功能.对话框与控 ...