如何从json服务接收日期字段

时间:2016-04-20 14:20:21

标签: angular

我有一个人类,里面有一个日期字段:

export class Persoon {
   name: string;
   dateOfBirth: Date;
}

我的Java服务器提供了一个json字符串,如:

{"person":{"name":"Jansen","dateOfBirth":"1959-04-16"}}

在调试器中我得到的结论是AngularJS2认为它是一个字符串,当我使用日期管道时会发生以下错误:

EXCEPTION:[{{person.dateOfBirth |}中管道'DatePipe'的参数'1959-04-16'无效日期:PersonenComponent @ 26:10中的“dd-MM-yy”}}

如何制作日期约会?

1 个答案:

答案 0 :(得分:3)

您需要将字符串字段映射到日期1:

getList() : Observable<SomeModel[]> {
  return this._http.get(this._getListUrl).map(data => {
    return this.extractData(data);
  });
}

// parse a date in yyyy-mm-dd format
function parseDate(input) {
  var parts = input.split('-');
  return new Date(parts[0], parts[1]-1, parts[2]); // Note: months are 0-based
}

private extractData(res: Response) {
  var data = res.json().data || [];
  data.forEach((d) => {
    d.dateOfBirth = this.parseDate(d.dateOfBirth);
  });
  return data;
}

看到这个问题: