我对我的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)。为什么时间部分显示错误?
答案 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 />