我试图在Angular上的IE上正确显示日期。它在Chrome,Firefox等中运行良好,但在IE上却没有。这是我的代码:
<span>{{menu.modifiedDate ? (menu.modifiedDate | date : "dd-MM-y HH:mm:ss") : '-'}}</span>
Google Chrome正在展示:
15-06-2017 08:39:39
这就是IE显示的内容:
15-06-2017 08:00:6/15/2017 8:39:39 AM:6/15/2017 8:39:39 AM
出了什么问题?
答案 0 :(得分:2)
这是一个老问题 https://github.com/angular/angular.js/issues/13880
您可能正在使用旧版本。升级到最新的稳定版本应该可以解决问题。
答案 1 :(得分:1)
这是IE的常见问题。最好的解决方案是创建自己的管道,如下所示:
import { Pipe, PipeTransform } from '@angular/core';
@pipe({
name: 'date'
})
export class DataPipe implements PipeTransform {
transform(value: string): string {
let dd = value.substr(8, 2);
let MM = value.substr(5, 2);
let yyyy = value.substr(0, 4);
let date = `${dd}/${MM}/${yyyy}`;
return `${date}`;
}
}`
这样可以解决你的问题。