gpt4 book ai didi

javascript - 查找最近的日期(javascript)

转载 作者:行者123 更新时间:2023-11-28 01:45:49 25 4
gpt4 key购买 nike

我想从 xml 中找到最接近的 fromdt 日期。

 <?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>

我尝试使用默认日期格式“Wed Dec 04 2013 14:50:17 GMT-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");

那么我怎样才能以日期格式或替代解决方案接受这个输入..

最佳答案

2014-01-01 00:00:00 不是标准的有效格式。

我猜你使用的是 Firefox,new Date("2014-01-01 00:00:00") 仅适用于 V8 JS 引擎(Chrome),你可以使用一些替代库例如Moment.js , 那么它将适用于所有平台。

例子。

var fromDate = moment("2014-01-01 00:00:00", "YYYY-MM-DD HH:mm:ss").toDate();

关于javascript - 查找最近的日期(javascript),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22781359/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com