phpcms调用文章发布时间标签显示1970的解决方法
strtotime() 函数将任何英文文本的日期时间描述解析为 Unix 时间戳。
复制代码
{date('Y',strtotime($updatetime))} 大写Y显示 2013, 小写 y 则显示 13
{date('M-D',strtotime($updatetime))} 大写为英文月日, 小写为数字月日
{date('Y',time($updatetime))} 获取当前时间戳
代码如下:
{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.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
代码如下:
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,
代码如下:
c.inputtime,