我正在尝试计算开始和结束之间的时间差。
使用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
答案 0 :(得分:2)
您正在将矩对象格式化为字符串,然后尝试使用原始矩对象中的方法。如果您看一个简单的例子
.mycard span {
position: absolute;
display: none;
z-index: 99;
}
.mycard:hover span {
display: block;
position: fixed;
overflow: hidden;
}
.imgHover a {
position: relative;
}
.imgHover span {
position: absolute;
display: none;
z-index: 99;
}
.imgHover a:hover span {
display: block;
position: fixed;
overflow: hidden;
}
给予
<div class="imgHover mycard">
<div class="cardcost">
<p class="cardcosttext">2</p>
</div>
<div class="hscardepic">
<a style="margin-left: 1000%;vertical-align: middle;">
Doomsayer
<span id="moveHover">
<img src="Classic_Set/doomsayer.png" height="300" width="300" />
</span>
</a>
</div>
<div class="cardamount">
<p class="cardamounttext">×2</p>
</div>
</div>
这是一个字符串,因此没有您尝试使用的diff方法defined。在完成所有操作(或根本不执行)之后格式化字符串应该可以解决您的问题。例如。
moment().format('LLL')
给出我怀疑您最初正在寻找的东西
"June 3, 2019 12:06 PM"
答案 1 :(得分:0)
如果尝试使用moment(cleanStartTime).diff(cleanEndTime)
而不是cleanStartTime.diff(cleanEndTime)
,该错误应会消失。