我正在尝试在阵列或列表中获得最接近的时间。 我能够找到这个代码,并试图通过编辑让它工作,但没有任何运气。 可以使用jquery,如果它更容易。下面只是javascript 如何输出最接近时间<= p>的时间
经过更多研究后,我发现了这个片段并认为它对我的事业有用:
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 :(得分:0)
您正在尝试使用无效值创建Date对象(例如,“20:01”),从而导致无效日期。根据MDN,您可以在创建新的Date对象时以下列方式传递参数:
Date(value)
Date(dateString)
Date(year, month, day [, hour, minute, second, millisecond])
,其中 value是一个“整数值,表示自1970年1月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
这并不能解答您的初始问题,但它可以帮助您创建一个包含所需值的数组。