Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/date/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Moment.js fromNow()太早了几秒钟_Javascript_Date_Datetime_Momentjs - Fatal编程技术网

Javascript Moment.js fromNow()太早了几秒钟

Javascript Moment.js fromNow()太早了几秒钟,javascript,date,datetime,momentjs,Javascript,Date,Datetime,Momentjs,我在使用moment.js“fromNow()”函数将时间格式化为“几秒钟前”、“一小时前”等文本时遇到了一个问题 它工作得很好,除了它太早了几秒钟,这几乎总是不被注意到,但是如果我在数据库中创建一个条目并立即刷新我的页面,它会告诉我我正在查看的条目是“几秒钟内”创建的(这显然是不可能的) 这是我用来返回时间前文本的代码 moment(create_date_from_mysql_db + " +0000", "YYYY-MM-DD HH:mm:ss Z").fromNow() (其中从my

我在使用moment.js“fromNow()”函数将时间格式化为“几秒钟前”、“一小时前”等文本时遇到了一个问题

它工作得很好,除了它太早了几秒钟,这几乎总是不被注意到,但是如果我在数据库中创建一个条目并立即刷新我的页面,它会告诉我我正在查看的条目是“几秒钟内”创建的(这显然是不可能的)

这是我用来返回时间前文本的代码

moment(create_date_from_mysql_db  + " +0000", "YYYY-MM-DD HH:mm:ss Z").fromNow()
(其中从mysql数据库创建日期类似于:“2016-02-04 23:05:25”)


你知道我可能做错了什么吗?我从另一篇stackoverflow文章中获取了确切的格式参数,因为我看到DB和浏览器时间之间存在差异。现在,我只需要找到一种方法来修复这几秒钟的最终差异——即使是一个黑客解决方案,比如在计算中增加几秒钟,我也可以!非常感谢您的建议。

如果数据库位于不同的服务器上,这是完全可能的-这是由于一台或两台机器没有同步时钟造成的。在您的情况下,这听起来像是您机器上的时钟(浏览器运行的地方)比服务器慢了几秒钟


也许答案会有所帮助。

正如它所说的-“几秒钟内”将在记录添加后不超过45秒显示Hanks searlea-因此,由于我可以使用与系统时间稍有不同的来自世界各地的用户浏览器,我基本上对此无能为力?或者至少在我的计算中加上30秒左右,这样我就有理由相信没有人会看到未来创造的东西,这有意义吗?(如果是这样的话,任何关于如何实现这一点的想法都将非常感激!)p.s.为了让其他阅读本文的人受益,这里有一个黑客解决方案…时刻(从mysql\u db+“+0000”,“YYYY-MM-DD HH:MM:ss Z”创建日期)。减去(20,'s')。从现在开始();