Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/444.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
比较javascript中的两个IsoString日期_Javascript_Date_Iso_Toisostring - Fatal编程技术网

比较javascript中的两个IsoString日期

比较javascript中的两个IsoString日期,javascript,date,iso,toisostring,Javascript,Date,Iso,Toisostring,我想按天比较两个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)) r

我想按天比较两个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

你可以试试这个

  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

您可能希望使用库而不是标准的javascript日期。最流行的是
moment.js

在moment.js中:

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

已经有很多问题了。请注意,您的算法意味着相差1毫秒的日期将返回1天的差异。