用户输入-Javascript中两个日期的差异

用户输入-Javascript中两个日期的差异,javascript,html,Javascript,Html,我是JS的初学者。我有用户输入的日期值。我想在几天内得到差别。尝试了几种方法,但都不管用。 将输入类型用作数字,但对于03092017-29082017这样的示例不起作用,它输出的是数字差,而不是日期 函数resetForm(){ location.reload(); } 功能日期(){ var n_Date=document.getElementById('ddate').value; var e_Date=document.getElementById('cdate')。值; var nD

我是JS的初学者。我有用户输入的日期值。我想在几天内得到差别。尝试了几种方法,但都不管用。 将输入类型用作数字,但对于03092017-29082017这样的示例不起作用,它输出的是数字差,而不是日期

函数resetForm(){
location.reload();
}
功能日期(){
var n_Date=document.getElementById('ddate').value;
var e_Date=document.getElementById('cdate')。值;
var nDate=新日期(n_日期);
var eDate=新日期(e_日期);
var nMonth=n_Date.getMonth();
var eMonth=eDate.getMonth();
var nYear=nDate.getFullYear();
var eYear=eDate.getFullYear();
var Years=Math.abs(nYear-eYear);
var月数=Math.abs(nMonth-eMonth);
var日期=数学绝对值(nDate-eDate);
var fDate=日期+月份+年份;
如果(fDate 7){
var g=(fDate*50);
警报(“逾期时间:“+fDate+”天费用:“+g”);
}
}

还书到期日:
当前日期:

检查下面的示例解决方案,以获得两个日期在几天内的差异

var nDate  = new Date(n_Date);
var eDate  = new Date(e_Date);
var diffInDays = nDate.getDate()-eDate.getDate()
以下是包含示例数据的解决方案:

var-nDate=新日期(“2017-08-29”);
var eDate=新日期(“2017-08-25”);
var diffInDays=nDate.getDate()-eDate.getDate()

控制台日志(不同日期)您可以执行以下操作:

var startDate=新日期(2017,08,29);
var endDate=新日期(2017年9月15日);
var OneDayMissicles=3600*24*1000;
var daysLeft=Math.round(Math.abs((startDate.getTime()-endDate.getTime())/(onedaymissions));
控制台日志(“剩余天数:+daysLeft”)尝试为此使用

var startDate=时刻(“2016年4月13日”、“年月日”);
var endDate=时刻(“2016年5月28日”、“年月日”);
变量结果='Diff:'+endDate.Diff(startDate,'days');
控制台日志(结果)


请查看,它可以处理持续时间…谢谢。我现在花更多的时间来访问moments.js,以供参考@Myonara@TranAudi我通过了,但没用。使用了这些时刻。谢谢如果用户更改了月份怎么办?谢谢它起作用了。新的时刻。非常迷人。干杯!非常感谢你的帮助。我也能用这种方式做到
(parseInt((pickdt-dropdt)/(24*3600*1000))
并获得了在you are welcome@Tithira中计算的值。是的,如果你不想依赖,这是一个很好的解决方案。