【问题标题】:angular - display dates that are equal or greater than today角度 - 显示等于或大于今天的日期
【发布时间】:2020-11-17 09:22:07
【问题描述】:

我有一个包含日期的数组。我想要做的是仅在我的 html 页面上显示等于或大于今天的那些。我使用了 moment.isAfter() 但此时显示所有日期。我做错了什么?

html

<div *ngIf="isShown" id="divshow">
  <div *ngFor="let rez of dates" style="cursor: pointer;">

        {{rez.date}} par {{rez.text}}

  </div>
</div>

ts

  dates = [
    { date: "2020-11-01", text: "réservé par équipe 1" },
    { date: "2020-11-20", text: "réservé par un équipe 2" }
  ];

  todayDate:Date = new Date();

  toggleShow() {
    this.isShown = ! this.isShown;

    let now = this.datepipe.transform(this.todayDate, 'yyyy-MM-dd');

    for (var dat of this.dates) {
    let range = dat.date;
    let futureDate = moment(range).isAfter(now);
    console.log(futureDate);
    }
  }

【问题讨论】:

  • this.dates = this.dates.filter(d =&gt; {return moment(d.date).isAfter(now)}); 应该可以工作。请注意,如果您执行代码,您将丢失今天之前的所有日期。
  • 很高兴,您还可以使用pipe 仅显示今天之后的日期。这样您就不会更改数组中的任何数据。

标签: angular momentjs


【解决方案1】:
this.dates = this.dates.filter(item => {return moment(item.date).isAfter(now)});

【讨论】:

    猜你喜欢
    • 2011-07-08
    • 2016-02-20
    • 1970-01-01
    • 1970-01-01
    • 2023-03-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-09-22
    相关资源
    最近更新 更多