Проверьте, если дата в течение 30 дней с трубами Angular-Cli - PullRequest
0 голосов
/ 30 мая 2018

Как я могу перенести все события, которые начинаются внутри этого дня, на 30 дней?Я сделал этот канал, но он не работает, существует множество событий, и мне нужно вывести только события, которые имеют dateStart, через 30 дней, как я могу это сделать?сравнение dateStart и Date.now() + 30 дней

import { Pipe, PipeTransform } from '@angular/core';
import { SupplyEvent } from "../../models/supplyEvent";

@Pipe({
  name: 'toBeginFilter'
})
export class ToBeginFilterPipe implements PipeTransform {

  toBegin (SupplyEvent) {
    if (SupplyEvent.dateStart >= Date.now() + (30)) {
      return SupplyEvent
    }
  }

  transform(SupplyEvents: SupplyEvent[]): any {
    if (!SupplyEvents) return SupplyEvents
    return SupplyEvents.filter(this.toBegin)
  }
}

1 Ответ

0 голосов
/ 30 мая 2018

Упс, не 3!JavaScript объект даты основан на отметке времени.

30 дней = 30 * 24 *3600* 1000

export class ToBeginFilterPipe implements PipeTransform {

  // assuming SupplyEvent.dateStart is timestamp.
  toBegin (SupplyEvent) {
    return Date.now() - SupplyEvent.dateStart <= (30*24*3600*1000);
  }

  transform(SupplyEvents: SupplyEvent[]): any {
    if (!SupplyEvents) return SupplyEvents
    return SupplyEvents.filter(this.toBegin)
  }
}
...