如何在html页面上显示之前操纵数组的日期对象

问题描述 投票:0回答:3

简要说明:使用以下代码在.ts文件中以json格式从服务器获取数据:

this.displayList = this._myservice.myservice(this.taskdesc).subscribe(data => {
  this.dataa = data;
        this.ENTDT = data.map( e => e.ENTDT );
        console.log(this.ENTDT);
        // answer in console is 2-DEC-2017 03:22:11
       // need to change its format before rendering in HTML

使用以下代码在home.html页面上显示:

  <ion-list no-lines *ngFor="let list of displayList;let i=index;" >
    <ion-item>
{{list.TASKDESC}}
{{list.ENTUSR }}
{{list.ENTDT }}</ion-item>

要求:数组中ENTDT的格式是22-DEC-2017 03:22:11但我想将其更改为Date2 = new Date('22-DEC-2017 03:22:11').toISOString();然后在HTML上呈现

做这个的最好方式是什么 ?

angular ionic-framework ionic2
3个回答
0
投票

只需在服务中使用地图运算符并转换结果即可。我们在想要从可观察变换发射值的场景中使用map运算符或rxjs。有关https://www.learnrxjs.io/operators/transformation/map.html的更多信息,请使用此链接。

希望它会有所帮助。


0
投票

首先你可以这样做:

this.ENTDT = data.map( e => new Date(e.ENTDT).toISOString());

但你也应该能够使用你当前的结果并在你的html中将日期管道应用到它

https://angular.io/guide/pipes https://angular.io/api/common/DatePipe


0
投票

试试这个

this._myservice.myservice(this.taskdesc).subscribe(data => {

var newdata = data.map(function(obj){

  var a = {};

  a.TASKDESC = obj.TASKDESC;
  a.ENTUSR = obj.ENTUSR;
  a.ENTDT = new Date(obj.ENTDT).toISOString()

  return a;

});


this.displayList = newdata;


})
© www.soinside.com 2019 - 2024. All rights reserved.