Javascript 日期差

Javascript 日期差,javascript,Javascript,在下面的代码中,我得到了course\u diff\u date作为NaN,我在这里做错了什么,我想在几天内得到差异 console.log(d1); //Thu Jan 01 1970 05:30:00 GMT+0530 (IST) var today = new Date(); var course_time = new Date(d1); var new_date = new Date(today.getMonth()+ "/" +today.getDate()+ "/" +today.

在下面的代码中,我得到了
course\u diff\u date
作为NaN,我在这里做错了什么,我想在几天内得到差异

console.log(d1);
//Thu Jan 01 1970 05:30:00 GMT+0530 (IST)
var today = new Date(); 
var course_time = new Date(d1);
var new_date = new Date(today.getMonth()+ "/" +today.getDate()+ "/" +today.getFullYear());
var server_date = new Date(course_time.getMonth()+ "/" +course_time.getDate()+ "/" +course_time.getFullYear());
var timeDiff = Math.round(new_date.getTime() - server_date.getTime());
var diffDays = Math.ceil(timeDiff / (1000 * 3600 * 24));
course_diff_date = diffDays + " Days";
而不是

course_time.time.getMonth()
使用:


你有一个额外的时间

var server_date = new Date(course_time.time.getMonth()+ "/" +course_time.getDate()+ "/" +course_time.getFullYear());
应该是

var server_date = new Date(course_time.getMonth()+ "/" +course_time.getDate()+ "/" +course_time.getFullYear());

应该是当然时间而不是当然时间

d1 = "12 January 2014";
d1 = new Date(d1);
var today = new Date(); 
var course_time = new Date(d1);
var new_date = new Date(today.getMonth()+ "/" +today.getDate()+ "/" +today.getFullYear());
var server_date = new Date(course_time.getMonth()+ "/" +course_time.getDate()+ "/" +course_time.getFullYear());
var timeDiff = Math.round(new_date.getTime() - server_date.getTime());
var diffDays = Math.ceil(timeDiff / (1000 * 3600 * 24));
course_diff_date = diffDays + " Days";

尝试改用
date.getTime()

编辑

var daysTillNow=函数(str){
var today=新日期();
//时间戳用于测试
var课程时间=新日期(str);
//以毫秒为单位的差异
var diff=today.getTime()-course\u time.getTime();
//将毫秒四舍五入为天
diff=数学舍入(diff/(1000*60*60*24));
返回差异+“天”;
};
console.log(daysTillNow('2014年12月11日星期四05:30:00 GMT+0530(IST))//11天
console.log(daysTillNow(2014年12月22日星期一11:13:21 GMT+0530(IST))//0天

打开控制台。。。F12
我已经计算了代码时间。时间请检查结果是否仍然为NaN d1的值是多少?它是字符串还是日期?d1是日期,而不是带有代码段的字符串这是我今天尝试的var=new date();var服务器启动时间=新日期(“2014年12月22日星期一11:13:21 GMT+0530(IST)”;var diff=today.getTime()-server_launchtime.getTime();给我9578345天
d1 = "12 January 2014";
d1 = new Date(d1);
var today = new Date(); 
var course_time = new Date(d1);
var new_date = new Date(today.getMonth()+ "/" +today.getDate()+ "/" +today.getFullYear());
var server_date = new Date(course_time.getMonth()+ "/" +course_time.getDate()+ "/" +course_time.getFullYear());
var timeDiff = Math.round(new_date.getTime() - server_date.getTime());
var diffDays = Math.ceil(timeDiff / (1000 * 3600 * 24));
course_diff_date = diffDays + " Days";