Javascript Jquery从表列返回最近日期

Javascript Jquery从表列返回最近日期,javascript,jquery,Javascript,Jquery,我试图使用此函数从表中获取最新的日期值 function getdate() { var index = $('#csvtext table').find('th:contains("DATE")').index(); var max = 0; $('#csvtext table tr td:eq(' + index + ')').each(function() { $this = parseInt( $(this).text() ); if ($this >

我试图使用此函数从表中获取最新的日期值

function getdate() {
  var index = $('#csvtext table').find('th:contains("DATE")').index();
  var max = 0;

  $('#csvtext table tr td:eq(' + index + ')').each(function() {
    $this = parseInt( $(this).text() );
    if ($this > max) 
      max = $this
  });
  return max;
}
表:

<tbody>
<tr><td>1</td><td>17/10/2017</td><td>CA5533</td></tr>
<tr><td>2</td><td>15/10/2017</td><td>CA5533</td></tr>
</tbody>

117/10/2017CA5533
215/10/2017CA5533
问题是
max
只返回我列
date
中日期的第一个值

如何从该列中的所有值返回最近日期的值

谢谢

(我无权评论你的帖子。请评论我的帖子。你的问题不清楚,但我能理解你的解释。)

以下是所需输出的修改逻辑:

(提示:您必须迭代行/tr,并且需要在循环内获取列/td.)


函数getdate(){
var指数=1;
var max=null;
$('table tr')。每个(函数(){
var date=$(this.find('td:eq('+index+')).html().split('/');
var$this=新日期(日期[2],日期[1],日期[0]);
console.log($this);
警报(本美元);
如果($this>max)max=$this
});
返回最大值;
}
$(文档).ready(函数(){
var值=getdate();
警报(值);
});
117/10/2017CA5533
215/10/2017CA5533
(我无权评论你的帖子。请评论我的帖子。你的问题不清楚,但我能理解你的解释。)

以下是所需输出的修改逻辑:

(提示:您必须迭代行/tr,并且需要在循环内获取列/td.)


函数getdate(){
var指数=1;
var max=null;
$('table tr')。每个(函数(){
var date=$(this.find('td:eq('+index+')).html().split('/');
var$this=新日期(日期[2],日期[1],日期[0]);
console.log($this);
警报(本美元);
如果($this>max)max=$this
});
返回最大值;
}
$(文档).ready(函数(){
var值=getdate();
警报(值);
});
117/10/2017CA5533
215/10/2017CA5533

您可以将
DD/MM/YYYY
格式的日期转换为
MM/DD/YYYY
,然后使用
getTime()
对其进行比较,然后返回结果

函数getdate(){ 设maxDate='01/01/1970'; $('table tr td:nth child(2)')。每个(函数(){ var date=$(this.text().replace(/(..)\/(..)\/(..)/,“$2/$1/$3”); if(新日期(maxDate).getTime()<新日期(Date).getTime()){ maxDate=日期; } }); 返回maxDate。替换(/(..)\/(..)\/(..)/,“$2/$1/$3”); } log(getdate())

117/10/2017CA5533
215/10/2017CA5533

您可以将
DD/MM/YYYY
格式的日期转换为
MM/DD/YYYY
,然后使用
getTime()
对其进行比较,然后返回结果

函数getdate(){ 设maxDate='01/01/1970'; $('table tr td:nth child(2)')。每个(函数(){ var date=$(this.text().replace(/(..)\/(..)\/(..)/,“$2/$1/$3”); if(新日期(maxDate).getTime()<新日期(Date).getTime()){ maxDate=日期; } }); 返回maxDate。替换(/(..)\/(..)\/(..)/,“$2/$1/$3”); } log(getdate())

117/10/2017CA5533
215/10/2017CA5533


你的桌子是什么样子的?@Vineesh编辑了代码。Nisal,我看到了这篇文章,我无法使用该案例的代码。你的表格是什么样子的?@Vinesh,编辑了代码。Nisal,我看到了这篇文章,我不能用那个案例的代码。嗨!此处相同的报税表需要转换为日期
parseInt()
只返回前两个数字谢谢回复。您的日期格式是2017年10月17日吗?是的!此函数返回
DATE
列中的所有值。您好!此处相同的报税表需要转换为日期
parseInt()
只返回前两个数字谢谢回复。您的日期格式是2017年10月17日吗?是的!此函数返回
DATE
列中的所有值。使用Chrome。你知道我如何在Firefox上也使用它吗?谢谢Firefox错误:maxDate.replace不是更新解决方案的函数。请现在检查。@hassaniam您不需要使用
getTime()
。您可以在Chrome上直接比较日期。你知道我如何在Firefox上也使用它吗?谢谢Firefox错误:maxDate.replace不是更新解决方案的函数。请现在检查。@hassaniam您不需要使用
getTime()
。您可以直接比较日期
newdate(maxDate)
 <!DOCTYPE html>
<html>
<head>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
<script>
function getdate() {

          var index = 1;

          var max = null;
          $('table tr').each(function() {

             var date =  $(this).find('td:eq(' + index +')').html().split('/') ;

               var $this= new Date(date[2], date[1], date[0]);
               console.log($this);
               alert($this);
               if ($this > max) max = $this
            });
            return max;

}

$(document).ready(function(){
   var value=getdate();
   alert(value);
});
</script>
</head>
<body>

<table>
<tbody>
<tr><td>1</td><td>17/10/2017</td><td>CA5533</td></tr>
<tr><td>2</td><td>15/10/2017</td><td>CA5533</td></tr>
</tbody>
</table>
</body>
</html>