0

我想按天比较两个 Iso 字符串日期,日期格式如下:

**

“2020-05-07T15:51:28.124Z”

**

我做了这个函数来得到按天比较的结果:

  compareDatesByDays(higherDate, lowerDate) {
    const diffTime = Math.abs(higherDate - lowerDate)
    const diffDays = Math.ceil(diffTime / (1000 * 60 * 60 * 24))

    return diffDays
  }

Math.abs 给出 NaN,我认为这不适用于字符串 iso 日期!

4

2 回答 2

0

你可以试试这个

  function compareDatesByDays(higherDate, lowerDate) {
    const d1 = new Date(higherDate);
    const d2 = new Date(lowerDate);
    const diffTime = Math.abs(d1.getTime() - d2.getTime());
    const diffDays = Math.ceil(diffTime / (1000 * 60 * 60 * 24));

    return diffDays;
  }
  console.log(compareDatesByDays("2020-05-07T15:51:28.124Z", "2020-05-03T15:51:28.124Z")); // -> 4
于 2020-05-07T18:04:32.790 回答
-1

您可能想要使用库而不是标准的 javascript 日期。最受欢迎的是moment.js

在 moment.js 中:

moment(higherDate).diff(lowerDate, 'days') // returns int

https://momentjs.com/docs/#/displaying/difference/

于 2020-05-07T18:54:17.030 回答