前端Moment.js计算分钟差失败的问题

需求:计算两个时刻之间的分钟差,我百度了下以及看了下官网,但是计算出来的都是小时差?网上基本都是用diff以及duration方法的,但是测试的时候一直计算不成功:代码如下,输出结果在注释里

例如计算6月20日凌晨到7点50分相差多少分钟,但是得到的结果是420分钟 7小时,正确结果应该是470分钟

const moment = require( "moment")
let t1 = moment('2022-06-20 00:00','YYYY-MM-DD HH:SS')
let t2 = moment('2022-06-20 07:50','YYYY-MM-DD HH:SS')
console.log(t2.diff(t1, 'minutes', true))  //420.0083333333333


let dura = t2.format('x') - t1.format('x')
let timeSpan = moment.duration(dura)
console.log(timeSpan.days())     //0
console.log(timeSpan.hours())    //7
console.log(timeSpan.minutes())  //0

console.log(timeSpan.asMinutes()); //420.0083333333333

本地环境

Win10 64位 专业版
node: v16.15.1. 通过官网安装,没有用nvm
npm: 8.11.0
moment: 2.29.3

参考链接:

请问下如何用moment将两个时间点的差用HH:mm:ss表示出来 - SegmentFault 思否

官网diff的描述:文档 | Moment.js 中文网

官网duration的描述:文档 | Moment.js 中文网

创建带格式的moment对象:文档 | Moment.js 中文网

阅读 1.9k
1 个回答

格式化写错了呀 YYYY-MM-DD HH:mm

const moment = require( "moment")
let t1 = moment('2022-06-20 00:00','YYYY-MM-DD HH:mm')
let t2 = moment('2022-06-20 07:50','YYYY-MM-DD HH:mm')
console.log(t2.diff(t1, 'minutes', true))  //470
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
宣传栏