Moment.js 航班起飞和到达之间的差异

Moment.js difference between flight departure and arrival

var moment = require('moment-timezone');

var departure = moment.tz("2015-06-17T15:03:00.000", "America/Los_Angeles");
console.log("departure: " + departure.utc().format());
var arrival = moment.tz("2015-06-18T20:05:00.000", "Asia/Hong_Kong");
console.log("arrival: " + arrival.utc().format());

departureUTC = departure.utc();
arrivalUTC = arrival.utc();

var duration = moment(arrival.diff(departure)).format("h:mm");
console.log(duration);

var durationUTC = moment(arrivalUTC.diff(departureUTC)).format("h:mm");
console.log(durationUTC);

这两个选项都产生 9:02 的持续时间而不是 14:02(正确的持续时间)。一个简单的错误,我敢肯定,但看不到它。

您应该使用 moment.duration 来处理此处的持续时间。

var moment = require('moment-timezone');

var departure = moment.tz("2015-06-17T15:03:00.000", "America/Los_Angeles");
console.log("departure: " + departure.utc().format());
var arrival = moment.tz("2015-06-18T20:05:00.000", "Asia/Hong_Kong");
console.log("arrival: " + arrival.utc().format());

var duration = moment.duration(arrival.diff(departure));
console.log("duration: " + duration.humanize());