Javascript 时差返回NaN

Javascript 时差返回NaN,javascript,Javascript,我想在几秒钟内找出两个日期(或时间,不知道怎么说)之间的差异 代码如下: var montharray = new Array ("Jan" , "Feb" , "Mar" , "Apr" , "May" , "Jun" , "Jul" , "Aug" , "Sept" , "Oct" , "Nov" , "Dec") function time_difference (yr,m,d,h,mins,sec){ var today = new Date(); var this_year = tod

我想在几秒钟内找出两个日期(或时间,不知道怎么说)之间的差异

代码如下:

var montharray = new Array ("Jan" , "Feb" , "Mar" , "Apr" , "May" , "Jun" , "Jul" , "Aug" , "Sept" , "Oct" , "Nov" , "Dec")
function time_difference (yr,m,d,h,mins,sec){
var today = new Date();
var this_year = today.getYear();
if (this_year<1000)
this_year+=1900;
var this_month= today.getMonth();
var this_day=today.getDate();
var this_hour=today.getHours();
var this_mins=today.getMinutes();
var this_secs=today.getSeconds();
var today_string=montharray[this_month]+" "+this_day+", "+this_year+" "+this_hour+" "+this_mins+" "+this_secs;
var disconnect_string=montharray[m-1]+" "+d+", "+yr+" "+h+" "+mins+" "+sec;
var difference=(Math.round((Date.parse(disconnect_string)-Date.parse(today_string))/1000)*1)
alert(difference);
    }
time_difference(2014,4,13,16,0,0)
var montharray=新数组(“一月”、“二月”、“三月”、“四月”、“五月”、“六月”、“七月”、“八月”、“九月”、“十月”、“十一月”、“十二月”)
功能时间差(年、米、日、小时、分、秒){
var today=新日期();
var this_year=today.getYear();

如果(今年使用方法
getTime
。它以毫秒为单位返回日期的UNIX偏移量

var date1= new Date();
var date2 = new Date("2013-01-01");

var difference = (date1.getTime() - date2.getTime()) / 1000;
如果您不知道这两个日期中哪一个更早,可以对结果使用
Math.abs

difference = Math.abs(difference);

使用方法
getTime
。它以毫秒为单位返回日期的UNIX偏移量

var date1= new Date();
var date2 = new Date("2013-01-01");

var difference = (date1.getTime() - date2.getTime()) / 1000;
如果您不知道这两个日期中哪一个更早,可以对结果使用
Math.abs

difference = Math.abs(difference);

使用方法
getTime
。它以毫秒为单位返回日期的UNIX偏移量

var date1= new Date();
var date2 = new Date("2013-01-01");

var difference = (date1.getTime() - date2.getTime()) / 1000;
如果您不知道这两个日期中哪一个更早,可以对结果使用
Math.abs

difference = Math.abs(difference);

使用方法
getTime
。它以毫秒为单位返回日期的UNIX偏移量

var date1= new Date();
var date2 = new Date("2013-01-01");

var difference = (date1.getTime() - date2.getTime()) / 1000;
如果您不知道这两个日期中哪一个更早,可以对结果使用
Math.abs

difference = Math.abs(difference);
我的JSFIDLE在这里:
我猜你想做的是这样的:

function time_difference (yr,m,d,h,mins,sec){

var t1 = new Date(yr,m-1,d,h,mins,sec);
var t2 = Date.now();
var diff_msec = t1 - t2;
var diff_seconds = parseInt(diff_msec/1000);
var diff_minutes = parseInt(diff_seconds/60);
var diff_hours = parseInt(diff_minutes/60);

alert(diff_seconds+" seconds");
alert(diff_minutes+" minutes");
alert(diff_hours+" hours");

}
time_difference(2014,4,13,16,0,0);
希望这有帮助。

我的JSFIDLE在这里:
我猜你想做的是这样的:

function time_difference (yr,m,d,h,mins,sec){

var t1 = new Date(yr,m-1,d,h,mins,sec);
var t2 = Date.now();
var diff_msec = t1 - t2;
var diff_seconds = parseInt(diff_msec/1000);
var diff_minutes = parseInt(diff_seconds/60);
var diff_hours = parseInt(diff_minutes/60);

alert(diff_seconds+" seconds");
alert(diff_minutes+" minutes");
alert(diff_hours+" hours");

}
time_difference(2014,4,13,16,0,0);
希望这有帮助。

我的JSFIDLE在这里:
我猜你想做的是这样的:

function time_difference (yr,m,d,h,mins,sec){

var t1 = new Date(yr,m-1,d,h,mins,sec);
var t2 = Date.now();
var diff_msec = t1 - t2;
var diff_seconds = parseInt(diff_msec/1000);
var diff_minutes = parseInt(diff_seconds/60);
var diff_hours = parseInt(diff_minutes/60);

alert(diff_seconds+" seconds");
alert(diff_minutes+" minutes");
alert(diff_hours+" hours");

}
time_difference(2014,4,13,16,0,0);
希望这有帮助。

我的JSFIDLE在这里:
我猜你想做的是这样的:

function time_difference (yr,m,d,h,mins,sec){

var t1 = new Date(yr,m-1,d,h,mins,sec);
var t2 = Date.now();
var diff_msec = t1 - t2;
var diff_seconds = parseInt(diff_msec/1000);
var diff_minutes = parseInt(diff_seconds/60);
var diff_hours = parseInt(diff_minutes/60);

alert(diff_seconds+" seconds");
alert(diff_minutes+" minutes");
alert(diff_hours+" hours");

}
time_difference(2014,4,13,16,0,0);

希望这能有所帮助。

但如果我知道日期2的精确h、min和secs呢?这只是一个例子。您可以根据需要构建一个粒度尽可能大的日期,例如
新日期(“2014年4月12日星期六14:42:41 GMT+0200(西欧夏令时)”)
但如果我知道日期2的精确h、min和sec呢?这只是一个例子。您可以根据需要构建一个粒度尽可能大的日期,例如
新日期(“2014年4月12日星期六14:42:41 GMT+0200(西欧夏令时)”)
但如果我知道日期2的精确h、min和sec呢?这只是一个例子。您可以根据需要构建一个粒度尽可能大的日期,例如
新日期(“2014年4月12日星期六14:42:41 GMT+0200(西欧夏令时)”)
但如果我知道日期2的精确h、min和sec呢?这只是一个例子。您可以根据需要构建一个粒度尽可能大的日期,例如
新日期(“2014年4月12日星期六14:42:41 GMT+0200(西欧夏令时)”)
谢谢,伙计,这很有帮助!这可能是做我想做的事情最简单的方式。谢谢,伙计,这很有帮助!这可能是做我想做的事情最简单的方式。谢谢,伙计,这很有帮助!这可能是做我想做的事情最简单的方式。