2013-10-11 60 views
-4

我正在嘗試獲取數組或列表等中最近的時間。 我能夠找到這段代碼,並試圖通過編輯來實現它,但沒有任何運氣。 如果它更容易,可以使用jquery。下面只是雖然 我怎麼能輸出最接近哪個= thetimeJavascript/jquery-如何在數組中獲得最接近的時間?

進一步的研究之後的時間的時間,我發現這個片段,並認爲這可能是我的事業有用的javascript:

var date1 = myDate, 
date2 = new Date(); 
return (date1.getTime() < date2.getTime()); 

我嘗試

var currentTime = new Date() 
var hours = currentTime.getHours() 
var minutes = currentTime.getMinutes() 

if (minutes < 10) { 
    minutes = "0" + minutes 
} 

var thetime = hours + ":" + minutes + " " 

var json = [{ 
    "times": { 
     "times1": "20:01", 
     "times2": "21:43", 
     "times3": "22:56", 
     "times4": "23:21" 
    } 
}] 
var times = []; 
var jsontimes = json[0].times; 
for (var i in jsontimes) { 
    times.push(new Date(jsontimes[i])) 
} 
times.sort(function (a, b) { 
    return Math.abs(thetime - a/new Date()) + Math.abs(thetime - b/new Date()) 
}); 

// display code 
for (var i = 0; i < jsontimes.length; i++) 
    document.getElementById("output").innerHTML += dates[i] + "<br>"; 

回答

0

您試圖創建具有無效值(例如「20:01」)的Date對象,從而導致無效日期。根據MDN,你可以創建一個新的Date對象時通過以下方式傳遞參數:

Date(value) 
Date(dateString) 
Date(year, month, day [, hour, minute, second, millisecond]) 

其中 值是表示毫秒數從1970年1 00:00:00 UTC月份(的「整數值Unix Epoch)「。和

dateString是一個「表示日期的字符串值,該字符串應採用parse方法(IETF兼容的RFC 2822時間戳)識別的格式。」

你可以在這裏閱讀更多: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date

這並沒有真正回答你最初的問題,但它應該幫助你創建你想要的值的數組。

相關問題