Javascript 比较从-到的日期

Javascript 比较从-到的日期,javascript,jquery,date,Javascript,Jquery,Date,似乎不可能了解日期比较的工作原理。 Php是这个,Js是那个。 我有一个带有日期的HTML表格: 2016-02-01 08:16:31 2016-02-01 18:55:52 2016-02-02 15:13:41 ... 现在我想构建一个JS来过滤日期。 因此,我以jquery作为文本获取日期,并将其转换为dateobj: $('td.datum').each( function() { //Get this date thisDate = new Date( $(this).t

似乎不可能了解日期比较的工作原理。
Php是这个,Js是那个。

我有一个带有日期的HTML表格:

2016-02-01 08:16:31
2016-02-01 18:55:52
2016-02-02 15:13:41
...
现在我想构建一个JS来过滤日期。
因此,我以jquery作为文本获取日期,并将其转换为dateobj:

$('td.datum').each(  function() {
  //Get this date
  thisDate = new Date( $(this).text() );
...
接下来我使用
bootstrap-datepicker
选择日期。
我抓取选定的日期,并将其转换为日期对象。

dateStart = new Date( $('#dateStart').val() );
dateEnd = new Date( $('#dateEnd').val() );
现在我做了一个if语句来排序日期:

if (thisDate >= dateStart && thisDate <= dateEnd ) {
  $(this).parent().show();
}
else {
  $(this).parent().hide();
}

我将在所选的结束日期中添加一天。

您可能忘记了日期对象的时间组件

使用以下日期:

thisDate = '2016-02-02 15:13:41'
dateStart = '2016-02-01 00:00:00'
dateEnd = '2016-02-02 00:00:00'
thisDate
不能介于
dateStart
dateEnd

if (thisDate >= dateStart && thisDate <= dateEnd ) {
  $(this).parent().show();
}
else {
  $(this).parent().hide();
}

(2) 当您解析html日期时,请删除时间部分

$('td.datum').each(  function() {
  //Get this date
  thisDate = new Date( $(this).text().substring(0, 10) );

如果你想分类,为什么还要费心安排新的日期呢?YYYY-MM-DD按字母顺序排序很好如果您只需要比较它们为什么不使用日期对象的
.getTime()
方法并比较整数结果?@Bearburger我该怎么做?哦,是的。没错。非常感谢。现在我该如何以最好的方式解决这个问题?!
dateEnd = new Date( $('#dateEnd').val() + ' 23:59:59.999' );
$('td.datum').each(  function() {
  //Get this date
  thisDate = new Date( $(this).text().substring(0, 10) );