Jor*_*dan 12 duration momentjs difference
我试图在两个时间戳之间获得分钟差异
我有一个看起来像这样的时间戳
'15:44:06'
Run Code Online (Sandbox Code Playgroud)
当我想找到时间流逝时,我会创建一个新的时刻时间戳
var currentTimestamp = Moment(new Date()).format('HH:mm:ss');
Run Code Online (Sandbox Code Playgroud)
哪个回来了
'15:42:09'
Run Code Online (Sandbox Code Playgroud)
然后,我试图得到这样的差异
var duration = Moment.duration(Moment(currentTimestamp,'HH:mm:ss').diff(Moment(userTimestamp,'HH:mm:ss')));
Run Code Online (Sandbox Code Playgroud)
然后尝试在几分钟内完成它
var elapsedTime = duration().asMinutes();
console.log(elapsedTime);
Run Code Online (Sandbox Code Playgroud)
但是在我登录时在控制台中我得到了这个错误
var elapsedTime = duration().asMinutes();
^
TypeError: object is not a function
Run Code Online (Sandbox Code Playgroud)
我从这个stackoverflow获得了大部分代码
Sah*_*avi 14
您可以通过正确使用矩构造函数来获取差异.
首先,初始化时间戳时,应使用以下格式:
var timestamp = moment('15:44:06','HH:mm:ss');
Run Code Online (Sandbox Code Playgroud)
其次,当你想使用当前时间的diff函数时,你应该像这样使用它:
timestamp.diff(moment());
Run Code Online (Sandbox Code Playgroud)
然后,使用.asMinutes()(第一个)将给定的数字转换为分钟
有关详细信息,请阅读此处的官方文档.
这个问题有点老了,这个答案只是使状态与问题正在寻找的解决方案保持同步:
const startDate = moment();
...
elapsedDuration = moment.duration(moment().diff(startDate));
//in minutes
elapseDuration.asMinutes();
Run Code Online (Sandbox Code Playgroud)
根据有关差异 和显示持续时间(以分钟为单位)的文档
您还可以尝试使用最新的moment.js
var start = moment('15:44:06','HH:mm:ss');
var minutesPassed = moment().diff(start, 'minutes');
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
14250 次 |
| 最近记录: |