AngularJS MongoDB - 日期类型

AngularJS MongoDB - Date type

如何为我的过滤器比较这些不同的日期类型????

MongDB:

2015-04-29T22:00:00.000Z

日期选择器:

Wed Apr 08 2015 00:00:00 GMT+0200 (CEST)

我有一个 MEAN 堆栈并将表单中的数据写入 MongoDB 数据库。 我的数据库条目如下所示:

日期的 dt

我使用 UI-Bootstrap 日期选择器来选择日期并将其保存为以下格式:

2015-03-31T22:00:00.000Z

现在我有另外两个日期选择器来设置范围并过滤它们。 但是当我在日期选择器中选择一个日期时,格式更改为:

Wed Apr 08 2015 00:00:00 GMT+0200 (CEST)

而且我无法在我的过滤器中比较这两个数据:

angular.module('reklaApp')
 .filter('dateFilter', function () {
    return function (items, fromDate, toDate) {

    var filtered = [];

    for (var i = 0; i < items.length; i++) {

        var item = items[i];

        if (item.dt > fromDate && item.dt < toDate){
            filtered.push(item);
        }
    }

    return filtered;
  };
});

您需要解析这两种日期格式并将其转换为日期实例。可能,因为您已经在使用日期选择器,所以较晚的日期,即开始日期和结束日期必须是日期实例。所以你唯一要做的就是解析 MongoDB 日期字符串。

创建 javascript 本机 Date 对象并比较它们:

var a = new Date("2015-04-29T22:00:00.000Z")
var b = new Date("Wed Apr 08 2015 00:00:00 GMT+0200 (CEST)")

console.log(a > b) // -> true