Angular 4在datetime中显示时间部分错误

时间:2017-06-07 07:53:40

标签: html angular

我对我的Angular组件html有一个输入:

<input id="orderdate" class="form-control" value="{{order.OrderDate | date: 'd.M.yyyy H:mm:ss'}}" disabled />

order.OrderDate的值为2017-06-01T10:52:03.666723,我希望看到格式的价值

1.6.2017 10:52:03。

然而,我实际得到的是

1.6.2017 10:00:6/1/2017 10:52:03 AM:6/1/2017 10:52:03 AM

如果我只使用日期(d.M.yyyy),它可以正常工作(1.6.2017)。为什么时间部分显示错误?

2 个答案:

答案 0 :(得分:0)

我认为它应该采用这种格式&#; d.M.y H:mm:ss&#39;。 Angular Date Pipe

答案 1 :(得分:0)

感谢Thiagz的评论,我在这里找到了解决这个问题的方法:Angular2 date pipe does not work in IE 11 and edge 13/14

这似乎是IE和Edge中的错误,因此我必须为日期创建自己的管道。

DatexPipe.ts:

import { Pipe, PipeTransform } from '@angular/core';
import * as moment from 'moment';

@Pipe({
    name: 'datex'
})

export class DatexPipe implements PipeTransform {
    transform(value: any, format: string = ""): string {
        var momentDate = moment(value);

        if (!momentDate.isValid()) return value;

        return momentDate.format(format);
    }
}

像这样使用:

<input id="orderdate" class="form-control" value="{{order.OrderDate | datex: 'd.M.YYYY H:mm:ss'}}" disabled />