我在使用moment.js的“fromNow()”函数来格式化带有“几秒钟前”,“一个小时前”等文本的时间时遇到问题。

它工作得很完美,但事实上它为时过早,几乎总是不为人所知,但是如果我在数据库中创建一个条目并立即刷新我的页面,它将告诉我我正在查看的条目是在“几秒钟”(显然这是不可能的)。

这是我用来返回之前的文本的代码...

moment(create_date_from_mysql_db  + " +0000", "YYYY-MM-DD HH:mm:ss Z").fromNow()

(其中create_date_from_mysql_db类似于:“2016-02-04 23:05:25”)

有什么想法我可能在这里做错了吗?我从另一个stackoverflow帖子中获取了确切的格式设置参数,因为我看到了数据库时间和浏览器时间之间的差异。现在,我只需要找到一种方法来解决最后几秒钟的差异-即使是像以某种方式将几秒钟添加到计算中的hack解决方案,对我来说也很好!谢谢您的任何想法。

最佳答案

如果数据库在另一台服务器上,则完全有可能-这是由于一台或两台计算机未同步其时钟而导致的。在您的情况下,听起来好像机器上的时钟(运行浏览器的时钟)比服务器晚了几秒钟。

回答this question也许会有所帮助。

07-28 11:35