Thinkphp 前端视图输出日期时间戳自动转换为时间格式化年月日
需求:实现文章创建按年,月,日归类,并如图格式显示。
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 前端视图输出日期时间戳自动转换为时间格式化年月日的更多相关文章
- 【Thinkphp5】解决模板输出时间戳自动转换为时间格式的问题
背景: 数据库存储时间为时间戳,格式为varchar,模板输出时未进行时间格式化却输出了时间格式 如下图 (数据库存储的时间戳) (页面输出的时间) (未进行格式化的时间代码) (格式化后的时间代码) ...
- js 将时间戳转成时间格式化
一.时间戳 时间戳是以时间元年1970年开始算起到当前时间的一个值,以秒为单位,比如1535694719秒,如何转化为我们想要的格式,yyyy/mm/dd或者yyyy-MM-dd hh:mm,格式根据 ...
- 【JAVA8新的时间与日期 API】- 传统时间格式化的线程安全问题
Java8之前的日期和时间API,存在一些问题,最重要的就是线程安全的问题.这些问题都在Java8中的日期和时间API中得到了解决,而且Java8中的日期和时间API更加强大. 传统时间格式化的线程安 ...
- XML PUBLISHER输出excel禁止自动将数字格式化处理
方案1: 在 rtf template 里头添加 =T("域"). 方案2: 加个无中断空格 0xA0 In the rtf template, ...
- 010、MySQL日期时间戳转化为文本日期时间
#时间戳转化文本时间 SELECT from_unixtime( unix_timestamp( curdate( ) ) ); #时间戳转化文本时间格式化 SELECT from_unixtime( ...
- python(6)时间戳和北京时间互转,输出当前的时间和推到七天前的日期
项目发展的需要:(包含时间函数)time datetime 时间戳和北京时间互转 import time import datetime s = '2015-04-17 11:25:30' d = d ...
- 3.ThinkPHP入门---视图
视图:MVC三大组成部分,负责信息的展示和输出 1.视图的创建 创建的位置需要是在分组目录下的view目录下余控制器同名的目录中. 2.视图的展示 在smarty和tinkphp都是使用diaplay ...
- 松软科技前端课堂:JavaScript 日期
JavaScript 日期输出 默认情况下,JavaScript 将使用浏览器的时区并将日期显示为全文本字符串: Tue Apr 02 2019 09:01:19 GMT+0800 (中国标准时间) ...
- thinkphp 模板变量输出替换和赋值
一.变量输出的几个方法 <?php namespace app\index\controller; use http\Params; use think\Config; use think\Co ...
随机推荐
- Android Studio 图形化设计 UI 界面
我们开发 Android 程序必定是从 UI 开始的 ,使用最新版的 Android Studio 可以在图形化界面下设计软件 UI, Android Studio 默认的布局是 Constraint ...
- Python赋值没有返回值+笔试
>>> def test(): i = 1 return i=2 SyntaxError: invalid syntax 原因是python 中赋值语句没有返回值,这里不是C++
- doT 这个模板 是怎么实现的?
之前做过一个微信有关的站 模板用 doT 嗯 这个 用起来很 不错. 但是 它是怎么实现的,想过没有? ps:https://github.com/olado/doT 源码总共 140行. 第90行里 ...
- UVA A Spy in the Metro
点击打开题目 题目大意: 在一个有n个站台的地铁线路里,给你列车通向每相邻两个车站所花费的时间,从0时刻开始,从1号站出发,要在T这个时间点上,到达n号站,给你m1辆从1开到n的列车及其出发时间,和m ...
- Android的学习之路一
在Android的道路上越走越远==,本着一颗童心去学习,没想到最后会成为自己的职业.看到过知乎上写的,并不是兴趣使比尔盖茨以及乔布斯他们成就斐然,而是他们真正的牛逼使得即使买大饼也能成为世界首富.然 ...
- 从DirectX SDK升级到Windows SDK
原来的DirectX SDK到June 2010,微软就不更新了.之后新的版本被集成到了Windows SDK中. 在微软的博客里找到一篇升级指南:http://blogs.msdn.com/b/ch ...
- CF-528D Fuzzy Search(FFT字符串匹配)
Fuzzy Search 题意: 给定一个模式串和目标串按下图方式匹配,错开位置不多于k 解题思路: 总共只有\(A C G T\)四个字符,那么我们可以按照各个字符进行匹配,比如按照\(A\)进行匹 ...
- MySQL 清理缓存—flush tablesFlush tables的影响
摘自:http://blog.chinaunix.net/uid-31401119-id-5781305.html 1 Flush tables简介 官方手册中关于Flush tables的介绍, ...
- 手把手写框架入门(一) | 核心拦截器DispatchFilter实现
前言 1Filter实现框架拦截 1配置自定义Filter 2创建一个Filter 3创建一个ActionMapping 4创建一个ActionMapper 5创建一个WebExecutor 6创建测 ...
- Mavn 项目 引入第三方jar包 导致ClassNotFoundException
案例 我有一个Maven构建的项目,项目模块之间有依赖关系,我需要用到一个本地的jar包,而该jar包不能通过配置pom.xml文件从远程仓库自动下载,于是我直接导入该jar包到其中一个项目,不通过p ...