2014-06-21 40 views
0

我目前格式化通過以下方式日期:如何比較日期以查看相鄰時間在哪裏見面?

[ [ Tue Jun 17 2014 09:00:00 GMT-0400 (EDT), 
    Tue Jun 17 2014 10:00:00 GMT-0400 (EDT) ] ] 

[ [ Thu Jun 19 2014 09:30:00 GMT-0400 (EDT), 
    Thu Jun 19 2014 11:30:00 GMT-0400 (EDT) ] ] 

[ [ Tue Jun 17 2014 10:00:00 GMT-0400 (EDT), 
    Tue Jun 17 2014 11:00:00 GMT-0400 (EDT) ] ] 

這些日期實際上是「會議」,我需要看到某些會話是彼此相鄰。例如,在此特定情況下,第一個日期數組的結束時間爲10AM,而最後一個數組數組的開始時間爲10AM。我如何計算髮現這種情況?

我所擁有的一種方法是首先將數組從最早時間排序到最近時間,然後比較每個開始/結束日期對以查看它們是否相同,但我似乎無法通過。任何想法都歡迎!

+0

如果兩個日期完全相同,則它們的值(以毫秒爲單位)必須匹配。你試過什麼了? – elclanrs

+0

現在我正在嘗試在迭代日期來查找匹配項,並且認爲我可以嘗試比較日期對象本身。我會嘗試獲取他們的MS值並對其進行比較! @elclanrs – Qasim

+1

對象不同,但值必須相同http://jsbin.com/qipos/1/edit – elclanrs

回答

0

打開串入的Unix與Date.parse()時間戳(如果這些實際上是Date對象,然後使用.getTime()方法),然後用Array.prototype.sort()訂貨會議。以下是按開始時間排序會話的示例:

var sessions = [ 
    ["Tue Jun 17 2014 09:00:00 GMT-0400 (EDT)", "Tue Jun 17 2014 10:00:00 GMT-0400 (EDT)"], 
    ["Thu Jun 19 2014 09:30:00 GMT-0400 (EDT)", "Thu Jun 19 2014 11:30:00 GMT-0400 (EDT)"], 
    ["Tue Jun 17 2014 10:00:00 GMT-0400 (EDT)", "Tue Jun 17 2014 11:00:00 GMT-0400 (EDT)"] 
]; 

for (var i = 0; i < sessions.length; i++) { 
    sessions[i].startTime= Date.parse(sessions[i][0]); 
} 

sessions.sort(function(a, b) { return a.startTime-b.startTime; });