我在试着计算开始和结束之间的时间差。
使用moment.js的代码段
cleanStartTime = i.time_start
cleanStartTime = moment(cleanStartTime).format('LLL')
cleanEndTime = i.time_end
cleanEndTime = moment(cleanEndTime).format('LLL')
theDuration = moment.duration(cleanStartTime.diff(cleanEndTime)).humanize()
console.log(theDuration)
错误:
TypeError: cleanStartTime.diff is not a function
cleanStartTime看起来像2018年5月7日下午5:51
发布于 2019-06-04 03:08:45
您正在将moment对象格式化为字符串,然后尝试使用原始moment对象中的方法。如果你看一个简单的例子
moment().format('LLL')
给出
"June 3, 2019 12:06 PM"
它是一个字符串,因此没有定义您正在尝试使用的diff方法。在所有操作完成(或者根本不做)之后格式化字符串应该可以解决您的问题。例如。
cleanStartTime = moment();
cleanEndTime = moment().add(100, 'days');
theDuration = moment.duration(cleanStartTime.diff(cleanEndTime)).humanize()
console.log(theDuration)
给出了我怀疑你最初想要的东西
3 months
发布于 2019-06-04 03:24:17
如果您尝试使用moment(cleanStartTime).diff(cleanEndTime)
而不是cleanStartTime.diff(cleanEndTime)
,错误应该会消失。
https://stackoverflow.com/questions/56433167
复制相似问题