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

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. 图解kubernetes调度器抢占流程与算法设计

    抢占调度是分布式调度中一种常见的设计,其核心目标是当不能为高优先级的任务分配资源的时候,会通过抢占低优先级的任务来进行高优先级的调度,本文主要学习k8s的抢占调度以及里面的一些有趣的算法 1. 抢占调 ...

  2. Linux.cp命令总提示是否覆盖

    执行cp命令,其实是默认执行了cp -i命令的别名,因此总提示是否覆盖. 修改~/.bashrc,注释“alias cp='cp -i'”即可. [root@xxxx test]# vi ~/.bas ...

  3. Spring加载早期获取BasePackage

    public class GetBasePackage { private Class<? extends Annotation> annotation; public GetBasePa ...

  4. 5、python基本数据类型之数值类型

    前言:python的基本数据类型可以分为三类:数值类型.序列类型.散列类型,本文主要介绍数值类型. 一.数值类型 数值类型有四种: 1)整数(int):整数 2)浮点数(float):小数 3)布尔值 ...

  5. 16、python面对对象之类和继承

    前言:本文主要介绍python面对对象中的类和继承,包括类方法.静态方法.只读属性.继承等. 一.类方法 1.类方法定义 使用装饰器@classmethod装饰,且第一个参数必须是当前类对象,该参数名 ...

  6. 完美实现STM32单总线挂多个DS18B20

    一般常见的STM32的关于DS18B20的例程都是检测一个传感器,代码一般都是跳过ROM检测,直接获取温度值.这种写法并不适用于单总线上挂载多个DS18B20的情况,Sandeepin的这个代码就是针 ...

  7. docker-Gitlab、GitLab Runner安装

    以下操作均在CentOs下操作 1.Gitlab install ① 启动gitlab docker run --detach \ --hostname 115.30.149.35 \ --publi ...

  8. CSS-09-背景属性

    <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...

  9. vue2.x中使用三元表达式绑定class的时候遇到的坑

    这个确实是个坑,而且是来自文档的坑. 首先先看文档对这个的解释: 从实际的代码书写上,文档中的写法,vs code没报错,但是浏览器报了一堆的错. 我试了很多遍,发现类名必须是要用引号引起来,页面上语 ...

  10. CUDA学习(三)之使用GPU进行两个数相加

    在CPU上定义两个数并赋值,然后使用GPU核函数将两个数相加并返回到CPU,在CPU上显示 #include "cuda_runtime.h" #include "dev ...