Datatables和moment.js时间过滤

时间:2016-02-17 17:18:47

标签: javascript jquery datatable datatables momentjs

我正在使用datatables v1.10.11和Jquery v 2.2.0。

一切都按预期工作,但我想在现有的datepicker中添加另一个日期过滤器。

我想过滤超过3年的项目(截至今天的日期)。

我在看http://momentjs.com/docs/#/query/is-after/,但不确定这是我需要的,或者如何合并?

到目前为止我的代码如下;

var table = $('#items').DataTable({});

$("#myInputTextField2").daterangepicker({
    autoUpdateInput: false,
        "ranges": {
        "Today": [moment(), moment()],
        'Yesterday': [moment().subtract(1, 'days'), moment().subtract(1, 'days')],
        'Last 7 Days': [moment().subtract(6, 'days'), moment()],
        'Last 30 Days': [moment().subtract(29, 'days'), moment()],
        'This Month': [moment().startOf('month'), moment().endOf('month')],
        'Last Month': [moment().subtract(1, 'month').startOf('month'), moment().subtract(1, 'month').endOf('month')],
        'Last Year': [moment().subtract(365, 'days'), moment()],
        'Last 3 Years': [moment().subtract(1095, 'days'), moment()]
        // Over 3 years old option here
    }
});

为了澄清,我想过滤较旧超过三年的项目。

我目前唯一可以使用它的方法是将“超过3年”设置如下;

'Over 3 Years': [moment("1970-01-01"), moment().subtract(3, 'years')]

我确定有更好的方法吗?

任何帮助表示感谢。

2 个答案:

答案 0 :(得分:1)

不要使用

moment().subtract(1095, 'days')

并非总是“3年”,请使用

moment().subtract(3, 'years')

考虑闰年

答案 1 :(得分:0)

你有最短的约会吗? 因此,语法是"来自","到"它可能像

'Over 3 Years': [moment("1492-10-12"), moment().subtract(3, 'years')]