【问题标题】:Check if a date is within 30 days with Angular-cli pipes使用 Angular-cli 管道检查日期是否在 30 天内
【发布时间】:2018-11-09 14:59:16
【问题描述】:

我怎样才能将在这一天开始的所有活动都延长到 30 天? 我已经完成了这个管道,但它不起作用 有一系列事件,并且需要在 30 天内只带来具有 dateStart 的事件,我该怎么做? dateStartDate.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)
  }
}

【问题讨论】:

  • 请分享输入/输出格式及相关代码
  • 你的意思是,HTML 和组件?事情在管道中,我只需要在从现在起 30 天内将它的元素带到它在管道中导入和声明的数组中,如果我删除 ´>= Date.now() + (30)´ 它可以工作,所以我只问我该怎么做,那个过滤器

标签: typescript angular-cli angular2-pipe


【解决方案1】:

糟糕,不是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)
  }
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-12-26
    • 1970-01-01
    • 2017-02-09
    • 2010-10-06
    • 2011-09-03
    • 2011-10-31
    • 1970-01-01
    • 2020-12-26
    相关资源
    最近更新 更多