IE RangeError:InvalidDate

时间:2016-06-10 08:05:13

标签: javascript internet-explorer typescript angular

我在IE 11中出现以下错误。(适用于Chrome,Firefox和Opera)

我有一个CustomDatePipe将日期或'yyyy-mm-dd'转换为'dd.mm.yyyy'

@Pipe({
  name: 'customDate'
})
export class CustomDate implements PipeTransform {

  constructor() { }

  transform(value:any, args:string[]):any {
    if (value) {
      console.log(value);
      var date = value instanceof Date ? value : new Date(value);
      return DateFormatter.format(date, 'de', 'dd.MM.yyyy');
    }
  }
}

在console.log中,IE会像任何其他浏览器一样记录。比如“[date] 2016年5月1日星期日......”(本作品)或“2016-05-05”

然后它抛出一个带有无效日期的例外......

我发现用Google搜索某些IE版本不支持yyyy-mm-dd所以我尝试将其转换为不同的字符串: (为“新日期(价值)”实施)

  ieSupport(value) {
    let dateparts = value.split('-');
    let date = dateparts[0]+'/'+dateparts[1]+'/'+dateparts[2];
    console.log(date);
    return new Date(date);
  }

也尝试过:

return new Date(Number(dateparts[0]), Number(dateparts[1])-1, Number(dateparts[2]));

没有成功。我错过了什么?先谢谢!

0 个答案:

没有答案