【问题标题】:AngularJS MongoDB - Date typeAngularJS MongoDB - 日期类型
【发布时间】:2015-06-30 01:58:15
【问题描述】:

我可以做些什么来为我的过滤器比较这些不同的日期类型????

MongDB:

2015-04-29T22:00:00.000Z

日期选择器:

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

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

日期的dt

我使用 UI-Bootstrap Datepicker 来选择日期并以这种格式保存:

2015-03-31T22:00:00.000Z

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

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;
  };
});

【问题讨论】:

    标签: angularjs mongodb date filter


    【解决方案1】:

    创建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
    

    【讨论】:

      【解决方案2】:

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

      【讨论】:

        猜你喜欢
        • 2016-03-23
        • 1970-01-01
        • 2018-09-25
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-10-04
        相关资源
        最近更新 更多