热搜词
发表于 2017-4-17 15:07:41 | 显示全部楼层 |阅读模式
请问帖子的发布时间怎么调用,楼主第一次发布的时间。

我从数据库里面调用出来的时间格式是一串数字,怎么把他显示成:几秒前/几小时前/几天前这样的人性化时间格式呢?
请注意:我指的是自己调用数据库,不是DIY的那个,DIY的那个我知道的,直接勾选个显示人性化时间格式就可以了!
麻烦班班学院指教,谢谢!

发贴时间戳代码:

$thread[dateline]   #帖子的发布时间

$post[dateline]    #最新回复的时间


上面这两个都是显示的时间戳,不是那种格式化的时间格式,跟discuz正常的发帖时间不一样, 要显示人性化是时间,我们只要调用discuz内置的时间戳转换代码即可,如下面所示:
<!--{echo dgmdate($thread[dateline], 'u', '9999', getglobal('setting/dateformat'))}-->

<!--{echo dgmdate(这里填写时间参数, 'u', '9999', getglobal('setting/dateformat'))}-->


$thread[dateline] 这个是时间戳,上面提供的这段代码就是DISCUZ特有的将时间戳转换为人性化时间格式的专用代码,在别的程序这个代码就无效了。


全部评论1
灰儿 发表于 2017-4-17 15:09:55 | 显示全部楼层
做了一个插件,中间碰到需要最后发表的时间的问题! 因为刚注册的号,需要博客,我就以提问的形式发表了!!
首先用了系统的表中时间,得出来是秒 SELECT dateline FROM ".DB::table('portal_article_title')
然后用了discuz中,function_core.php【dgmdate方法】
$sql = "SELECT dateline FROM ".DB::table('portal_article_title')"
结果:1411613146
这个结果肯定不能用,我们要转换一下
第一种:date方法
第二种:discuz提供的dmgdate方法
date方法自行百度吧,网上有
其实dmgdate和date一样!
dgmdate($sql["dateline"])
结果:2014-9-24 18:04

回复

使用道具 举报

回复
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|Archiver|手机版|小黑屋|管理员之家 ( 苏ICP备2023053177号-2 )

GMT+8, 2024-12-23 00:39 , Processed in 0.157812 second(s), 22 queries .

Powered by Discuz! X3.5

Cpoyright © 2001-2024 Discuz! Team