Javascript 想知道js中两个日期之间的差异吗?

Javascript 想知道js中两个日期之间的差异吗?,javascript,date,Javascript,Date,我在堆栈溢出本身上尝试了很多解决方案,但在js中没有得到区别 我在用 var days = ('13-10-2018'- '13-09-2018') / (1000 * 60 * 60 * 24)] 这里有两个问题 首先,您需要使用日期字符串来构造适当的JavaScript对象,该对象只支持符合IETF的RFC2822时间戳,还支持ISO8601版本,如中所示。因此,您不能使用DD-MM-YYYY,但可以使用MM-DD-YYYY 构造日期对象的另一种方法是使用以下语法: new Date(ye

我在堆栈溢出本身上尝试了很多解决方案,但在js中没有得到区别

我在用

var days = ('13-10-2018'- '13-09-2018') / (1000 * 60 * 60 * 24)]

这里有两个问题

首先,您需要使用日期字符串来构造适当的JavaScript对象,该对象只支持符合IETF的RFC2822时间戳,还支持ISO8601版本,如中所示。因此,您不能使用DD-MM-YYYY,但可以使用MM-DD-YYYY

构造日期对象的另一种方法是使用以下语法:

new Date(year, monthIndex [, day [, hours [, minutes [, seconds [, milliseconds]]]]]);
因此,要计算格式为DD-MM-YYYY的两个日期之间的差异,首先需要解析该差异并创建两个日期对象。然后,调用它们并以毫秒为单位计算绝对差值。最后,将其转换为天数除以3600000*24,如果不需要十进制天数,则四舍五入:

函数GetDateFromDDMMyyyDateString{ const[day,month,year]=dateString.split'/'; 返回新日期 今年,, 第1个月, 帕西恩蒂 ; } const diff=Math.absgetDateFromDDMMYYYY'13/10/2018'.getTime-getDateFromDDMMYYYY'13/09/2018'.getTime; const days=Math.rounddiff/3600000*24;
console.log`${days}${days==1?'day':'days'}` 您试图减去日期“2018年10月13日”-“2018年9月13日”的方式是错误的。这将给出错误NaN而不是数字,因为例如“13-10-2018”是一个字符串,无法自动转换为日期对象。如果你问'100'-'20',这将给你80,因为javascript会自动解析一个字符串,当应用算术运算符时,该字符串可以转换为整数或浮点数,但在你的情况下,“13-10-2018”不能解析为整数或浮点数,因为解析它不会给出任何数字

如果日期是字符串格式,那么您可以用以下方式对其进行解析,然后执行一些操作,因为您的日期是在DD-MM-YYYY中,我建议您在MM-DD-YYYY或YYYY-MM-DD中更改它,有关日期的更多信息,您可以查阅此表

新日期“2018年10月13日”-新日期“2018年9月13日”将为您提供2592000000毫秒,因为时间表示为。您可以通过执行以下操作来检查任何日期的unix时间

console.log(new Date().getTime('10-13-2018'));

现在,幕后的计算是2592000000/1000*60*60*24,即一天内的总毫秒数=30天

在寻找js解决方案时,为什么要用c标记?js中两个日期之间的差异,那么为什么要用c和Oracle标记?
console.log(new Date().getTime('10-13-2018'));