网站地图    收藏   

主页 > 后端 > phpcmsv9 >

phpcms调用文章发布时间标签显示1970的解决方法

来源:自学PHP网    时间:2014-11-21 10:16 作者: 阅读:

[导读] 在使用phpcms V9时,经常出现调用文章时间标签会显示1970年的问题,虽然不知道真正的原因,但我找到了解决方法。方法很简单,使用php strtotime() 函数即可...

在使用phpcms V9时,经常出现调用文章时间标签会显示1970年的问题,虽然不知道真正的原因,但我找到了解决方法。方法很简单,使用php strtotime() 函数即可

strtotime() 函数将任何英文文本的日期时间描述解析为 Unix 时间戳。


复制代码
代码如下:

{date('Y',strtotime($updatetime))} 大写Y显示 2013, 小写 y 则显示 13
{date('M-D',strtotime($updatetime))} 大写为英文月日, 小写为数字月日
{date('Y',time($updatetime))} 获取当前时间戳

   另外解释下phpcms标签里的updatetime和inputtime标签:

①updatetime是更新时间(也叫修改时间,就是后台的文章列表看到的时间);
②inputtime是第一次写文章时的发布时间(就是添加文章或者修改文章时缩略图下方的时间)。

   一般情况下,发布时间不会自动变动,但更新时间则会随着文章修改而变动。我们在前端页面写标签的时候,一般也都写发布时间,这样不会造成去年写的文章,修改后变成今年的文章。当然,如果写更新时间其实问题也不大。

如果还是不行可以参考下面的方法:

PHPCMS发布时间1970年01月01日的解决方法

在新闻内容页调用“{tag_内容页相关信息}”时在前台显示发布时间都是1970年01月01日,经过对标签模板的查看,没有发现问题,后再仔细查看标签设置,发现标签是“ 通过自定义SQL调用”的,而原来自定义SQL的语句是:


复制代码
代码如下:

SELECT DISTINCT c.contentid,c.title,c.style,c.url FROM `phpcmscom_content` c,`phpcmscom_content_tag` t WHERE c.contentid=t.contentid and c.`status`=99 AND t.`tag` IN(".get_sql_in($r[keywords]).") ORDER BY c.contentid DESC

并没有发布时间的执行函数,只需增加发布时间的函数即可显示真实的发布时间了,更改后的语句为:


复制代码
代码如下:

SELECT DISTINCT c.contentid,c.title,c.inputtime,c.style,c.url FROM `phpcmscom_content` c,`phpcmscom_content_tag` t WHERE c.contentid=t.contentid and c.`status`=99 AND t.`tag` IN(".get_sql_in($r[keywords]).") ORDER BY c.contentid DESC

注意添加下面的代码:


复制代码
代码如下:

c.inputtime,

自学PHP网专注网站建设学习,PHP程序学习,平面设计学习,以及操作系统学习

京ICP备14009008号-1@版权所有www.zixuephp.com

网站声明:本站所有视频,教程都由网友上传,站长收集和分享给大家学习使用,如由牵扯版权问题请联系站长邮箱904561283@qq.com

添加评论