Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angular/30.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/typescript/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Angular 从0可观测日期开始日期结束之间筛选数据_Angular_Typescript_Firebase_Filter_Observable - Fatal编程技术网

Angular 从0可观测日期开始日期结束之间筛选数据

Angular 从0可观测日期开始日期结束之间筛选数据,angular,typescript,firebase,filter,observable,Angular,Typescript,Firebase,Filter,Observable,我从Firebase得到一个可观测到的信号 如何从具有开始日期和结束日期的可观察对象中筛选数据? 我只需要得到一个时期的数据,所以我需要在一个可观察的范围内做一个过滤器,只返回这个时期之间的数据 在每个给定数据的可观察范围内,我有日期\周年,我需要根据返回的日期\周年返回开始日期和结束日期数据之间的所有数据 如何筛选和更新Observable以仅显示开始日期和结束日期之间的数据?以下是从www.learnrxjs.io筛选大于指定值的数字的方法: import { interval } from

我从Firebase得到一个可观测到的信号

如何从具有开始日期和结束日期的可观察对象中筛选数据?

我只需要得到一个时期的数据,所以我需要在一个可观察的范围内做一个过滤器,只返回这个时期之间的数据

在每个给定数据的可观察范围内,我有日期\周年,我需要根据返回的日期\周年返回开始日期和结束日期数据之间的所有数据

如何筛选和更新Observable以仅显示开始日期和结束日期之间的数据?

以下是从www.learnrxjs.io筛选大于指定值的数字的方法:

import { interval } from 'rxjs/observable/interval';
import { filter } from 'rxjs/operators';

//emit every second
const source = interval(1000);
//filter out all values until interval is greater than 5
const example = source.pipe(filter(num => num > 5));

/*
  "Number greater than 5: 6"
  "Number greater than 5: 7"
  "Number greater than 5: 8"
  "Number greater than 5: 9"
*/
const subscribe = example.subscribe(val =>
  console.log(`Number greater than 5: ${val}`)
);
因此,在您的情况下,只需过滤给定日期范围的结果:

source.pipe(filter(item => item.date_anniversary >= start_date && item.date_anniversary <= end_date));

source.pipe(filter(item=>item.date\u周年>=start\u date&&item.date\u周年我正在使用moment,但我认为isBeetween()函数不能正确地满足我的需要。date\u周年-date\u inico-date\u final moment('2018-03-10')介于('2018-03-10','2018-03-30')=假时刻('2018-03-11')介于('2018-03-10','2018-03-30')=true仅当日期介于开始日期和结束日期之间时,才会返回true,但当日期相同时,我也需要返回。版本2.13.0引入了包容性。A
[
表示包含值。因此尝试添加
[]
,如
isBetween('2018-03-10','2018-03-30',null,[])
好的,现在当日期相同或介于开始日期和结束日期之间时返回true,非常好!谢谢!数据库的日期是DD/MM/YYYY格式,isBetween()函数只接受yyyyy-MM-DD格式吗?我没有测试它,但您可以随时“帮助”如果需要,通过将其作为第二个参数传递来理解格式的时刻,例如:
矩('18/03/1975','DD/MM/YYYY')