.diff is not a function on moments.js

2019-01-27 08:31发布

问题:

I try to do a little script using moment.js, that shows me how many hours and minutes (seperate) I have until a specific hour.

var TimeA = moment('08:00:00', 'HH:mm:ss').format('HH:mm:ss');
var TimeB = moment('16:00:00', 'HH:mm:ss').format('HH:mm:ss');
var DiffAB = TimeA.diff(TimeB);
var DiffHours = DiffAB.format('H');
var DiffMinutes = DiffAB.format('mm');

console.log('TimeA: ' + TimeA);
console.log('TimeB: ' + TimeB);
console.log('Difference A-B: ' + DiffAB);
console.log('Diff Hours: ' + DiffHours);
console.log('Diff Minutes: ' + DiffMinutes);

Thats what I've tried so far. But I get the following error:

TimeA.diff is not a function

I am not sure what I am doing wrong here.

回答1:

When you call .format(), what you get back is a String. You're no longer dealing with a moment object.