Angular Material - Datepicker:DateAdapter未将值识别为日期对象

时间:2017-09-22 10:55:54

标签: angular angular-material2

我正在尝试用现有的日期对象修补我的表单,但是那个日期"对象"作为字符串保存在Firebase中:

date: "2017-09-05T21:00:00.000Z"

我提交表单时的console.log日期,看到它显示为:

Thu Sep 28 2017 00:00:00 GMT+0300 (EEST)

所以AFAIK我必须在修补表单之前将其转换为该形状。我怎么做?尤其是" Thu Sep"困惑我。另请注意,我将在Datepicker中使用不同的语言。

更新

看起来我设法制作了Date对象,但它的值非常错误:

  const str: string[] = this.initialValue.dateFrom.split('-');
  console.log(str); // ["2017", "08", "31T21:00:00.000Z"] - correct date
  const day = str[2][0] + str[2][1];
  console.log(day); // 31 - correct

  this.initialValue.dateFrom = new Date(+day, +str[1], +str[0]);
  console.log(this.initialValue.dateFrom); // Tue Mar 09 1937 00:00:00 GMT+0200 (EET) -  not correct.

1 个答案:

答案 0 :(得分:1)

如你所愿。

改变这个:

  const str: string[] = this.initialValue.dateFrom.split('-');
  console.log(str); // ["2017", "08", "31T21:00:00.000Z"] - correct date
  const day = str[2][0] + str[2][1];
  console.log(day); // 31 - correct

  this.initialValue.dateFrom = new Date(+day, +str[1], +str[0]);

分为:

new date(this.initialValue.dateFrom);