2014-10-01 70 views
0

我有一个函数,我需要计算两个日期时间之间的秒差。 我做这样的事情:两个日期时间跨浏览器的Javascript差异秒数

var sData = new Date(Date.parse(sData)); 
var tData = new Date(Date.parse(response.scroll.datain)); 
var timeDiff = Math.abs(tData.getTime() - sData.getTime()); 
timeDiff = parseInt(timeDiff)/1000; 

Chrome会返回秒两个日期时间字段,Firefox和Opera返回0 之间的正确差异如何才能实现这个结果的跨浏览器的模式?

在此先感谢

+0

最佳猜测是日期字符串格式无效。提供2个日期字符串的示例数据 – charlietfl 2014-10-01 21:19:31

+0

刚刚从控制器传递毫秒,然后创建新日期(毫秒) – patrykf 2014-10-01 21:21:11

+0

Firefox和opera说sData和tData是“无效数据”,chrome不是 – AleMal 2014-10-01 21:26:48

回答

0

问题是MYSQL日期时间格式。 解决方法可能是这样的:

var t = response.scroll[i].datain.split(/[- :]/); 
var s = sData.split(/[- :]/); 

// Apply each element to the Date function 
var tData = new Date(t[0], t[1]-1, t[2], t[3], t[4], t[5]); 
var sData = new Date(s[0], s[1]-1, s[2], s[3], s[4], s[5]); 

适用于所有主流浏览器。

+0

令人惊叹!它的工作,非常感谢 – AleMal 2014-10-02 07:29:40