在使用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,
免责声明:本网站内容主要来自原创、合作伙伴供稿和第三方自媒体作者投稿,凡在本网站出现的信息,均仅供参考。本网站将尽力确保所提供信息的准确性及可靠性,但不保证有关资料的准确性及可靠性,读者在使用前请进一步核实,并对任何自主决定的行为负责。本网站对有关资料所引致的错误、不确或遗漏,概不负任何法律责任。任何单位或个人认为本网站中的网页或链接内容可能涉嫌侵犯其知识产权或存在不实内容时,应及时向本网站提出书面权利通知或不实情况说明,并提供身份证明、权属证明及详细侵权或不实情况证明。本网站在收到上述法律文件后,将会依法尽快联系相关文章源头核实,沟通删除相关内容或断开相关链接。