Javascript 如何将xml行中的日期与今天进行比较';日期

Javascript 如何将xml行中的日期与今天进行比较';日期,javascript,jquery,Javascript,Jquery,我有一个在sharepoint中使用jquery检索的xml文件。xml的一行如下所示 <z:row ows_Title='Have dinner party with Host' ows_Due_x0020_Date='2012-05-10 00:00:00' ows_MetaInfo='1;#' ows__ModerationStatus='0' ows__Level='1' ows_ID='1' ows_UniqueId='1;#{2A8F277A-C95B-420C-89A9-3B

我有一个在sharepoint中使用jquery检索的xml文件。xml的一行如下所示

<z:row ows_Title='Have dinner party with Host' ows_Due_x0020_Date='2012-05-10 00:00:00' ows_MetaInfo='1;#' ows__ModerationStatus='0' ows__Level='1' ows_ID='1' ows_UniqueId='1;#{2A8F277A-C95B-420C-89A9-3B979F95C8F4}' ows_owshiddenversion='3' ows_FSObjType='1;#0' ows_Created='2012-10-25 03:19:35' ows_PermMask='0x7fffffffffffffff' ows_Modified='2012-10-29 00:56:09' ows_FileRef='1;#personal/Inclusions/Lists/Events/1_.000' />
function compareDates(passdate)
    {   
        var splitdate = passdate.split(" ");
        var splitdate1 = splitdate[0].split("-");
        var newdate = splitdate1[1]+"-"+ splitdate1[2]+"-"+splitdate1[0];
        return ((Date.parse(newdate)) < (new Date()).getTime());
    }
但它只显示日期。在xml中,我们也得到了时间。我不想和时间相比。我只想和日期比较。如何实现?我想把整个过程放在下面的函数中

$(xData.responseXML).find("z\\:row").each(function() { 
          //here i want to compare that date column with present date

});
最后,我想知道,xml中的日期是否小于今天的日期?

类似以下内容:

function isPastDate( date ) {
  return (new Date( date )).getTime() < (new Date()).getTime();
}
函数isplastdate(日期){
return(newdate(Date)).getTime()<(newdate()).getTime();
}

最后,需要进行如下所示的比较

<z:row ows_Title='Have dinner party with Host' ows_Due_x0020_Date='2012-05-10 00:00:00' ows_MetaInfo='1;#' ows__ModerationStatus='0' ows__Level='1' ows_ID='1' ows_UniqueId='1;#{2A8F277A-C95B-420C-89A9-3B979F95C8F4}' ows_owshiddenversion='3' ows_FSObjType='1;#0' ows_Created='2012-10-25 03:19:35' ows_PermMask='0x7fffffffffffffff' ows_Modified='2012-10-29 00:56:09' ows_FileRef='1;#personal/Inclusions/Lists/Events/1_.000' />
function compareDates(passdate)
    {   
        var splitdate = passdate.split(" ");
        var splitdate1 = splitdate[0].split("-");
        var newdate = splitdate1[1]+"-"+ splitdate1[2]+"-"+splitdate1[0];
        return ((Date.parse(newdate)) < (new Date()).getTime());
    }
函数比较(passdate)
{   
var splitdate=passdate.split(“”);
var splitdate1=splitdate[0]。拆分(“-”;
var newdate=splitdate1[1]+“-”+splitdate1[2]+“-”+splitdate1[0];
return((Date.parse(newdate))<(newdate()).getTime());
}

强烈推荐Date.js库,用于所有比较和格式化方法,这些方法可以大大简化大量日期工作


你所说的比较是什么意思?你想在这两个日期之间比较什么?中间几天?月份?…我想比较一下,xml中的日期是否小于今天的日期。您应该使用
.getFullYear()
无论如何
.getYear()
也给出相同的结果。无论如何,谢谢你的建议。但是这个函数没有问题。我不确定它是否给出了相同的结果-。总之,我只是指出了这一点,我并不是说这是问题所在。在比较时,来自xml的日期表示为
NaN
date
必须是字符串。确保日期为预期格式,例如
mm dd yyyy
。如果您从xml中获取字符串,则可以提取值,创建一个数组并相应地联接以创建所需的格式。是。。日期格式出现问题。它是
YYYY-MM-DD
格式,但是我们需要
MM-DD-YYYY
格式,然后您需要使用我上面解释的方法将其转换为正确的格式…但是在从xml检索时,我使用的是
$(this).attr(“ows\u Due\u x0020”)
。但该值未定义。你知道吗。