角度 - 日期管道

时间:2017-07-06 14:07:21

标签: angular date typescript

我试图在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 

出了什么问题?

2 个答案:

答案 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}`;
    }
    }`

这样可以解决你的问题。