2015-04-12 48 views
0

我有以下代码:'未定义不是一个函数' 在momentjs功能DIFF

var dateFormat = 'YYYY-MM-DD HH:mm:ss'; 

var time_margin = 10; 

var last_message = moment().format(dateFormat); 

var comparison = moment(last_message).add(time_margin, 'seconds').format(dateFormat); 
var actualtime = moment().format(dateFormat); 
var secondsDiff = actualtime.diff(comparison, 'seconds'); 
console.log("secondsdiff",secondsDiff); 

它崩溃就在var secondsDiff = actualtime.diff(comparison, 'seconds');Missing error handler on "socket". TypeError: undefined is not a function.

comparison 2015-04-12 18:00:41 actualtime 2015-04-12 18:00:42

可能是什么问题?我真的不理解

回答

2

问题是你正试图拨打diff一个字符串。当你打电话给moment().format(dateFormat)时,结果是一个字符串,而不是moment的一个实例。

为了解决这个问题,你需要调用diff没有格式化:

var dateFormat = 'YYYY-MM-DD HH:mm:ss'; 
var time_margin = 10; 
var last_message = moment().format(dateFormat); 

var comparison = moment(last_message).add(time_margin, 'seconds').format(dateFormat); 
var secondsDiff = moment().diff(comparison, 'seconds'); 
console.log("secondsdiff",secondsDiff); 
// => secondsdiff -9 
相关问题