2014-10-01 71 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