提问人:Jordan 提问时间:9/29/2015 最后编辑:CommunityJordan 更新时间:5/9/2018 访问量:27186
获取通过时刻差异经过的分钟数
Get the minutes that have elapsed through moment diff
问:
我正在尝试获得两个时间戳之间的分钟差异
我有一个时间戳,一开始是这样的
'15:44:06'
当我想找到经过的时间时,我会创建一个新的时刻时间戳
var currentTimestamp = Moment(new Date()).format('HH:mm:ss');
这将返回此
'15:42:09'
然后我试图像这样获得差异
var duration = Moment.duration(Moment(currentTimestamp,'HH:mm:ss').diff(Moment(userTimestamp,'HH:mm:ss')));
然后尝试在几分钟内获得它
var elapsedTime = duration().asMinutes();
console.log(elapsedTime);
但是在控制台中,当我记录它时,我收到此错误
var elapsedTime = duration().asMinutes();
^
TypeError: object is not a function
我从这个 stackoverflow 中获得了大部分代码
答:
16赞
Sahar Zehavi
9/29/2015
#1
您可以通过正确使用矩构造函数来获取差异。
首先,在初始化时间戳时,应使用以下格式:
var timestamp = moment('15:44:06','HH:mm:ss');
其次,当你想在当前时间使用diff函数时,你应该这样使用它:
timestamp.diff(moment());
然后,可以使用 .asMinutes() 将给定的数字转换为分钟数(第一个)
有关更多信息,您应该阅读此处的官方文档。
评论
4赞
WebWanderer
9/26/2017
的第二个参数是 。.时刻 - 差异moment.diff
unit of measure
timestamp.diff(moment(), 'minutes')
13赞
Custodio
2/1/2018
#2
这个问题有点老了,这个答案只是用问题正在寻找的解决方案使状态保持最新状态:
const startDate = moment();
...
elapsedDuration = moment.duration(moment().diff(startDate));
//in minutes
elapseDuration.asMinutes();
根据有关差异和显示持续时间(以分钟为单位)的文档
15赞
Raj Nandan Sharma
5/9/2018
#3
您也可以在最新时刻尝试此操作.js
var start = moment('15:44:06','HH:mm:ss');
var minutesPassed = moment().diff(start, 'minutes');
评论
duration.asMinutes()
duration.asMinutes()
正如错误所说,是一个对象。不是一个函数,不要duration
duration()