比较javascript中的两个IsoString日期
我想按天比较两个Iso字符串日期,日期的格式如下: ** “2020-05-07T15:51:28.124Z” ** 我创建此函数是为了获得按天比较的结果:比较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
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天的差异。