Javascript 日期范围过滤器过滤同一天

Javascript 日期范围过滤器过滤同一天,javascript,angularjs,mongodb-query,Javascript,Angularjs,Mongodb Query,我正在为AngularJS中的数据表设置一个相当简单的日期范围过滤器: if (vm.datePopup.dateFrom.date) { //data extracted from "From" input query.criteria.timestamp.$gte = vm.datePopup.dateFrom.date.toISOString(); } else { vm.datePopup.dateFrom.date = query.criteria.timest

我正在为AngularJS中的数据表设置一个相当简单的日期范围过滤器:

  if (vm.datePopup.dateFrom.date) { //data extracted from "From" input
    query.criteria.timestamp.$gte = vm.datePopup.dateFrom.date.toISOString();
  } else {
    vm.datePopup.dateFrom.date = query.criteria.timestamp.$gte = vm.minDate;
  }

  if (vm.datePopup.dateTo.date) { //data extracted from "To" input
    query.criteria.timestamp.$lte = vm.datePopup.dateTo.date.toISOString();
  }else {
    vm.datePopup.dateTo.date = query.criteria.timestamp.$lte = new Date();
  }
日期格式的一个示例是
“2017-12-01T09:14:03.539Z”

问题是,如果在两个输入中都设置了同一天,我不会得到数据,但如果我设置了前几天/后几天,我会得到数据。我怀疑这与格式有关,但我不知道如何解决这一问题。

我会每天用一个完整的限定时间:

if (vm.datePopup.dateFrom.date) { //data extracted from "From" input
    query.criteria.timestamp.$gte = moment(vm.datePopup.dateFrom.date).startOf('day').toDate();
} else {
    vm.datePopup.dateFrom.date = query.criteria.timestamp.$gte = moment(vm.minDate).startOf('day').toDate();
}

if (vm.datePopup.dateTo.date) { //data extracted from "To" input
    query.criteria.timestamp.$lte = moment(vm.datePopup.dateTo.date).endOf('day').toDate();
} else {
    vm.datePopup.dateTo.date = query.criteria.timestamp.$lte = moment().endOf('day').toDate();
}