我有一个数组列表,我需要按日期过滤列表。我从ngx-daterangepicker-material获取日期。我有2个日期需要过滤这些日期之间的数据。
<div class="form-group">
<label for="">Date</label>
<input type="text" ngxDaterangepickerMd [(ngModel)]="selected" (change)="getClaims()" [locale]="{applyLabel: 'ok', format: 'DD-MM-YYYY'}" class="form-control"/>
</div>
.ts
if(this.selected){
this.from = this.selected.startDate.format("DD-MMM-YYYY");
this.to = this.selected.endDate.format("DD-MMM-YYYY")
console.log(this.from); //01-Jul-2019 showing in this format
console.log(this.to);
console.log(this.data10.filter((item: any) =>
item.responded_at >= this.from && item.responded_at <= this.to
));
}
问题可能是月份的大小写吗?该月显示为2月这样的FEB,并且我正在获取数据。
答案 0 :(得分:0)
您可以使用Date对象的getTime()。它返回毫秒数,使您在比较日期时更轻松。像这样的东西
console.log(this.data10.filter((item: any) =>
item.responded_at.getTime() >= this.from.getTime() && item.responded_at.getTime() <= this.to.getTime()
));
答案 1 :(得分:0)
JavaScript将日期存储为自1970年1月1日UTC(全球标准时间)00:00:00以来的毫秒数。
因此,您始终可以通过在date变量之前添加+号将其转换为毫秒,然后比较日期即可。
date = new Date('24-AUG-2018');
ngOnInit() {
console.log(this.date);
console.log(+this.date)
}
第一行将记录-2018-08-23T21:00:00.000Z
第二行将记录-1535058000000,这是自1970年1月1日以来的毫秒数
我添加了一个here的堆栈闪电示例