如何过滤unix时间戳

时间:2018-02-07 13:44:33

标签: javascript angularjs typescript ionic-framework ionic2

所以基本上我有一个离子移动应用程序,它有一个搜索按钮或过滤器功能。我已经弄清楚如何过滤单词,但问题是这个日期,因为它是一个时间戳,并通过应用程序显示在应用程序中

的角度日期过滤器
<p>at {{item.fromDate | date:'mediumDate'}}</p>

这是一张图片供你拍照。

enter image description here

显示的数据。正如您所看到的,fromDate和toDate是Unix时间戳

enter image description here

所以这里的问题是我想为日期做一个搜索功能,但我很难知道它是一个时间戳。

这里是我的过滤器代码

getItems(ev: any) {
  console.log("awdaw");
  console.log("awdaw",this.ListOfitems);
  console.log("otin");

  this.ListofItems();
  let val = ev.target.value;
  if (val && val.trim() != '') {
    this.ListOfitems = this.ListOfitems.filter((ListOfitem) => {
      return (ListOfitem.fromAddress.toLowerCase().indexOf(val.toLowerCase()) > -1||
        ListOfitem.toAddress.toLowerCase().indexOf(val.toLowerCase()) >-1) ;


    })
  }

}

1 个答案:

答案 0 :(得分:0)

您可以使用过滤器功能中的mediumDate过滤器。

为此,您必须使用DatePipe

import { DatePipe } from '@angular/common';

你必须在课堂上注入这个。您可以在this answer中查看内容。

然后只是:

this.datePipe.transform(ListOfItem.fromDate, 'mediumDate')
this.datePipe.transform(ListOfItem.toDate, 'mediumDate')

它应该返回您显示的相同字符串

因此,您必须添加到过滤器的其他条件是:

this.datePipe.transform(ListOfItem.fromDate, 'mediumDate').toLowerCase().indexOf(val.toLowerCase()) > -1
this.datePipe.transform(ListOfItem.toDate, 'mediumDate').toLowerCase().indexOf(val.toLowerCase()) > -1

顺便说一下,你可以这样做:

const val = (ev.target.value || '').toLowerCase();

所以你不要写val.toLowerCase()

来重复自己