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 ...
随机推荐
- <密码学系列>—信息安全威胁
懒惰等于将一个人活埋.--泰勒 本文已经收录至我的GitHub,欢迎大家踊跃star 和 issues. https://github.com/midou-tech/articles 点关注,不迷路! ...
- Heroku学习 - 利用Heroku app实现 OrgA 查询Org B 的数据数据
最近研究了一番如何通过Heroku应用对OrgA开放一个接口,参数传递的是一个SQL,APP的负责将SQL通过callout的形式调用目标OrgB Rest API来获取数据并返回给OrgA.我是用的 ...
- java 数组2
一.创建异常 1.空指针异常 2.超出索引范围 二.遍历 for循环 三.求数组中的最大值 package cn.wt.day05.demon02; public class DemonArray03 ...
- java 赋值运算
注意:在赋值运算的时候,会自动发生数据类型转变 例子 public class test{ public static void main(String[] args){ byte num = 5; ...
- MySql 常用时间函数
1.date() 提取日期或日期时间表达式的日期部分 select date(create_time) from blog_article; 2.date_format() select date_f ...
- mybatis generator cmd 终端命令 生成dao model mapper
mybatis generator cmd 终端命令 生成dao model mapper 文件包下载 mybatis-generator-core-1.3.2.jar 下载地址:https://gi ...
- Kotlin DSL for HTML实例解析
Kotlin DSL for HTML实例解析 Kotlin DSL, 指用Kotlin写的Domain Specific Language. 本文通过解析官方的Kotlin DSL写html的例子, ...
- Shell常用命令之curl
curl命令 在Linux中curl是一个利用URL规则在命令行下工作的文件传输工具,可以说是一款很强大的http命令行工具.它支持文件的上传和下载,是综合传输工具,但按传统,习惯称url为下载工具. ...
- 什么是ip地址、子网掩码、网关和DNS?
什么是ip地址? IP是32位二进制数据,通常以十进制表示,并以“.”分隔.IP地址是一种逻辑地地址,用来标识网络中一个个主机,IP有唯一性,即每台机器的IP在全世界是唯一的. IP地址=网络地址+主 ...
- 使用visual studio 2013读取.mat文件
现在有一个T.mat 文件需要在c++中处理然后以.mat 或是.txt形式返回 T.mat中存储了十个cell,每个cell中会有一个不等长的数组 1.以下是相关配置过程: 参考:http://we ...