在javascript中比较两个IsoString日期

问题描述 投票:0回答:1

我想把两个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 date!!!

javascript date iso toisostring
1个回答
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

-1
投票

你可能想使用一个库而不是标准的javascript日期。 最流行的是 moment.js

在moment.js.comdocs中。

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

https:/momentjs.comdocs#displayingdifference。

© www.soinside.com 2019 - 2024. All rights reserved.