如何比较moment.js中的两个日期

时间:2015-06-12 06:14:44

标签: javascript jquery angularjs date momentjs

我在我的应用程序中使用moment.js,我将特定格式的日期传递给moment.js,并将其与系统时间进行比较,并给出了漂亮的时间格式,如下所示:

moment(time, "YYYY-MM-DD HH:mm:ss.SSSSSS").fromNow();

这里的时间由我作为指定格式的时间戳。

我的问题是fromNow()函数占用系统日期而不是服务器日期。因此,如果用户在他的系统中使用他的手机延迟5分钟,他将在4分钟前获得最新更新的卡片。

我想比较"时间"我通过了服务器时间,也将由我传递。

1 个答案:

答案 0 :(得分:3)

您可以从服务器传递2个日期:现有时间戳和服务器的“现在”时间戳。

然后(假设您的服务器以相同的格式传递其时间戳),您可以使用.from()而不是.fromNow()来执行:

moment(time, "YYYY-MM-DD HH:mm:ss.SSSSSS").from(serverTime, "YYYY-MM-DD HH:mm:ss.SSSSSS");

如果这是您使用时间戳的唯一方法,那么您可以让服务器计算&直接返回delta(让我们称之为serverDeltaMs)&格式使用moment.duration(serverDeltaMs).humanize()