计算格式为(YYYY-MM-DD HH:MM)的两个日期之间的差异并以分钟显示结果

Calculate the difference between two dates of format (YYYY-MM-DD HH:MM) and display results in minutes

使用 moment js,我正在尝试这个。我无法解决这个问题。

const dateOne = "2021-03-08 16:45"
const dateTwo = "2021-03-08 17:45"
console.log(moment.duration(dateTwo.diff(dateOne)));

嗯,您遇到了几个问题:

  • JS 字符串中没有 'diff' 属性(我认为您正在尝试使用时刻日期)
  • 由于您遇到的类似问题,Moment 已不再开发

我的建议是迁移到 Luxon(Moment.js 团队推荐的 Moment.js 替代方案)。他们为其 DateTime 对象提供了一个 .diff 函数 - https://moment.github.io/luxon/docs/class/src/datetime.js~DateTime.html

您需要做的是为 dateOne 和 dateTwo 创建一个 DateTime 对象,然后使用 this function 求差(从中可以得到分钟数)

编辑:

如你所知,Moment.js does recommend 如果可以或正在构建一个新项目,请远离它

考虑通过像这样包装字符串来将日期更改为 moment 对象

const dateOne = moment("2021-03-08 16:45")
const dateTwo = moment("2021-03-08 17:45");

const duration = moment.duration(dateTwo.diff(dateOne));
console.log(duration.asHours());