我必须计算设定时间和当前服务器时间之间的时间差。两个时区格式化日期之间的moment.js差异
我正在使用momentjs和时区时区库。
这是我有:
var serverTime = moment.tz(new Date(), "Europe/Berlin").format();
var bar = moment.tz("2016-05-14 00:00:00", "Europe/Berlin").format();
var baz = bar.diff(serverTime);
console.log('server time is: ' + serverTime);
console.log('time diff is: ' + baz);
这给了我一个错误:
TypeError: bar.diff is not a function
是它可能造成两种格式的时区之间的日期差异比较?如果不是,使用momentjs库进行这种计算的最佳方法是什么?
谢谢。我想我应该更好地命名变量。我在两个日期之间使用diff方法转换为我指定的时区,以获得所需的结果。不过,如果使用utc是模拟服务器时间的好主意。 – Grant
如果你只是比较*时间,你甚至不需要指定任何特定的时区,因为它在引擎盖下使用UTC。我只在第一行中包含TZ,因为稍后会显示它。如果你只关心diff,你可以使用'moment()'。 –
WRT“服务器时间”,真正做到这一点的唯一方法是通过从服务器获取时间戳 - 当然,您必须考虑传输该时间戳有延迟。你似乎在混淆“使用服务器的时区”和“使用服务器的时钟”。请记住,客户可以将自己的时钟更改为任何他们想要的。不能保证它会同步。 –