如何在网页上处理实时时间?

时间:2015-02-25 17:37:06

标签: javascript time reactjs

我看过一些网页(例如facebook),其中帖子的创建/发布日期正在计算中。例如现在发布,5分钟前,昨天14,依此类推。

我现在在reactJS网页上工作,这个功能非常好。我正在向客户端发送模型,但这些仅用于生成反应代码,然后不再使用它。

所以问题是,解决这个问题的最佳方法是什么?我是否应该创建一个特殊的反应日期时间组件?如果是这样,它看起来怎么样?

编辑:抱歉不清楚。时间可以在服务器上计算,但我需要它在客户端上实时倒计时。

3 个答案:

答案 0 :(得分:0)

看看moment.js,特别是“从现在开始显示时间”

moment([2007, 0, 29]).fromNow(); // 4 years ago

http://momentjs.com/docs/#/displaying/fromnow/

答案 1 :(得分:0)

正如我在评论中提到的,我一直使用Moment JS。再次,它做前端和服务器端。 This functionality可能是您可以使用的:

var a = moment([2007, 0, 29]);
var b = moment([2007, 0, 28]);
a.diff(b, 'days') // 1

答案 2 :(得分:0)

您需要定期触发重新渲染,以便生成时间,因为显示将更新。

使用顶级的setInterval执行此操作并不理想,但这是最简单的方法。

另一种简单的方法是创建一个组件,该组件采用prop来进行比较,并强制自己重新渲染以更新显示的时间。

另一种方法是从挂载的时间显示组件中保留一个静态回调列表,强制组件重新呈现并循环遍历它们并定期调用它们。