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

原文地址:https://www.cnblogs.com/duzishanglu/p/12368794.html

时间: 2024-10-14 02:44:11

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

javascript 将 ThinkPHP 分页自动转换为 bootstrap 分页

#写的一个通用的,将thinkphp生成的分页HTML,自动转换为 bootstrap 分页: /** * @author default7#zbphp.com * @description 将ThinkPHP的分页转换为 bootstrap分页 * @param selector */ function initPagination(selector) { selector = selector || '.page'; $(selector).each(function (i, o) { va

3.ThinkPHP入门---视图

视图:MVC三大组成部分,负责信息的展示和输出 1.视图的创建 创建的位置需要是在分组目录下的view目录下余控制器同名的目录中. 2.视图的展示 在smarty和tinkphp都是使用diaplay $this->dispaly(); $this->display(‘模版文件名’); $this->display(‘view目录下的目录名/模版文件名’); 3.变量分配 3.1变量分配(初级) 在实际开发的时候不仅仅只是展示模版这么简单,往往还需要展示数据,这个时候变量还在控制器的方法

php日期时间戳,日期函数使用

date_default_timezone_get():获得当前php的时区 date_default_timezone_set():设置当前php的时区 date("Y-m-d H-i-s") time(): 返回当前时间戳(1970-1-1--至今)单位秒 strtotime(): 将以英文书写字符串(单词)的日期转换为时间戳(2015/3/16)可以设置增减量 mktime(): 把日期转换为时间戳(时分秒月日年),当前时区 gmmktime(): 返回一个零时区的时间戳(格林威

ThinkPHP框架视图详细介绍 View 视图--模板(九)

原文:ThinkPHP框架视图详细介绍 View 视图--模板(九) 视图也是ThinkPHP使用的核心部分: 一.模板的使用 a.规则 模板文件夹下[TPL]/[分组文件夹/][模板主题文件夹/]和模块名同名的文件夹[Index]/和方法名同名的文件[index].html(.tpl) -->更换模板文件的后缀名(修改配置文件) 'TMPL_TEMPLATE_SUFFIX'=>'.tpl',//更改模板文件后缀名,默认是html b.修改模板文件目录层次 Tpl/Index/index.ht

【网页前端】JS呈现时间戳为与当前时间比较结果

1.时间戳显示 经常可以看到论坛或者新闻上,时间戳为刚刚,xx分钟前,xx小时前等字样,前端如何实现呢? 2.时间戳实现 这个功能比较简单,直接上函数,time_str是时间戳的字符串结果,转换成Date对象, Date对象可以获取年月日等信息,new一个Date表示当前时间,相关信息进行比较之后,定制返回结果即可. //时间处理函数,多少分钟前,多少小时前,超过24小时显示日期,超过一年显示年月日        getTimeShow:function(time_str){          

thinkphp 定时执行php文件 php自动执行php文件

最近开发短信任务和短信发送功能,用到了定时执行php这方面:和大家分享一下: (个人笔记,写的不好,海涵海涵,看不懂的话可以留言,但是我一般都能及时回复,其他网上有很多这样的教程,大家一搜就满地) 我用的是thinkphp开发的程序,程序已经开发好了,程序有个分批定时发送功能,每隔一段时间查找一下数据库,然后把符合条件的短信任务给发送出去, 实现思路如下: 通过win的“任务”功能来定时执行一个bat文件,bat文件会调用php.exe文件,php.exe可以传递参数 指定执行哪个类和方法 方法

mysql 日期 时间戳 转换

/***************************************************************************************** * mysql 日期 时间戳 转换 * 说明: * 要通过Python获取数据库中的时间信息,发现需要另外进行转换才行. * * 2016-10-13 深圳 南山平山村 曾剑锋 **********************************************************************

Word 文档插入时间日期禁止自动更新

前些天写了点总结并插入时间和日期,记得勾掉了那个自动更新的,但是刚才打开时发现当时的日期和时间变成现在的了,我就纳闷了,然后我去看那插入日期和时间的那个框,里面确实没有勾选自动更新,于是百度, 百度都说只要把那个自动更新的勾去掉了就不会自动更新了,但是我的怎么就自动更新了呢? 是这样的,在你完成插入操作之前要把那个自动更新的勾去掉,再去插入时间和日期,这样插入的时间和日期就不会自动更新了,我当时是用的快捷键插入的时间和日期, 然后再去去掉那个自动更新的勾,这样其实没用了,记住在不需要自动更新时间

ThinkPHP中视图模型详解.

很多TP的新手对于模型中的视图模型不甚了解,官方虽然有详细手册,但是对于初学者来说还是比较难以理解! 先简单说一下视图模型所能实现的功能,基本就是主表与副表之间各个字段的关联问题,实现多表关联查询,相对于使用原生SQL语句来说,着实是简单不少. 首先在数据表初始化的时候,用的不是传统的M('User'),在视图模型中使用的是D('UserView'),如下图: 需要主要的是几个单词的首字母大写. 之后在Lib/Model目录中新建名为XXXViewModel.class.php(XXX为任意控制