我想從xml中找到最接近的fromdt日期。查找最近的日期(javascript)
<?xml version="1.0" encoding="UTF-8"?>
<schedule>
<layout fromdt="2014-01-01 00:00:00" todt="2014-01-01 05:30:00"/>
<layout fromdt="2014-02-01 00:00:00" todt="2014-01-01 05:30:00"/>
<layout fromdt="2014-03-01 00:00:00" todt="2014-01-01 05:30:00"/>
<layout fromdt="2014-04-05 00:00:00" todt="2014-01-01 05:30:00"/>
<layout fromdt="2014-04-01 00:00:00" todt="2014-01-01 05:30:00"/>
<layout fromdt="2014-05-01 00:00:00" todt="2014-01-01 05:30:00"/>
<layout fromdt="2014-02-01 00:00:00" todt="2014-01-01 05:30:00"/>
<layout fromdt="2014-02-21 00:00:00" todt="2014-01-01 05:30:00"/>
<layout fromdt="2014-04-21 00:00:00" todt="2014-01-01 05:30:00"/>
<layout fromdt="2014-04-10 00:00:00" todt="2014-01-01 05:30:00"/>
</schedule>
我一直在使用默認的日期格式「週三2013年12月4日14時50分17秒格林尼治標準時間0800(太平洋夏令時)」這正常工作..
var ScheduleDate=[];
XmlResponse=function(xmlHttpRequest, status)
{
ScheduleDate=[];
$(xmlHttpRequest.responseXML)
{
var today=new Date();
var xml=xmlHttpRequest.responseXML;
$(xml).find("layout").each(function()
{
var fromDate=new Date($(this).attr('fromdt'));
var toDate=new Date($(this).attr('to'));
if(toDate>=today)
{
ScheduleDate.push({"from":fromDate,"to":toDate});
}
});
}
console.log(ScheduleDate);
dateFunction();
}
function closestTime(days, testDate,property)
{
var bestDiff = null;
var bestDate = 0;
for(i = 0; i < days.length; ++i){
currDiff = days[i][property] - testDate;
if((currDiff < bestDiff || bestDiff == null)&& currDiff > 0){
bestDate = days[i][property];
bestDiff = currDiff;
} else if (currDiff == bestDiff && days[i][property] > testDate) {
//alert(i);
bestDiff = currDiff;
}
}
return bestDate;
}
function dateFunction()
{
var closestFrom=closestTime(ScheduleDate, new Date(),"from");
}
,但是當我嘗試嘗試使用此格式 「YYYY-MM-DD HH:MM:SS」 它返回無效的日期..
var fromDate=new Date("2014-01-01 00:00:00");
因此,如何能我藉此INP ut以日期格式或替代方案解決此問題..
這個庫可能有些用處? http://www.datejs.com/ – freefaller
該屬性看起來像'todt',而不是'to'。 – Scimonster
Thanx @freefaller – user