首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >为什么我不能在这个例子中使用moment js来计算日期时间差?

为什么我不能在这个例子中使用moment js来计算日期时间差?
EN

Stack Overflow用户
提问于 2019-06-04 03:02:59
回答 2查看 46关注 0票数 2

我在试着计算开始和结束之间的时间差。

使用moment.js的代码段

代码语言:javascript
复制
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)

错误:

代码语言:javascript
复制
TypeError: cleanStartTime.diff is not a function

cleanStartTime看起来像2018年5月7日下午5:51

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2019-06-04 03:08:45

您正在将moment对象格式化为字符串,然后尝试使用原始moment对象中的方法。如果你看一个简单的例子

代码语言:javascript
复制
moment().format('LLL')

给出

代码语言:javascript
复制
"June 3, 2019 12:06 PM"

它是一个字符串,因此没有定义您正在尝试使用的diff方法。在所有操作完成(或者根本不做)之后格式化字符串应该可以解决您的问题。例如。

代码语言:javascript
复制
cleanStartTime = moment();
cleanEndTime = moment().add(100, 'days');
theDuration = moment.duration(cleanStartTime.diff(cleanEndTime)).humanize()
console.log(theDuration)

给出了我怀疑你最初想要的东西

代码语言:javascript
复制
3 months
票数 2
EN

Stack Overflow用户

发布于 2019-06-04 03:24:17

如果您尝试使用moment(cleanStartTime).diff(cleanEndTime)而不是cleanStartTime.diff(cleanEndTime),错误应该会消失。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56433167

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档