16

我正在尝试DatePipe在 Angular 2 中使用。我希望输出日期的格式为:08/23/2017 at 11:07 AM

但是,我想不出at在我的日期格式中包含文本的正确方法。

当我这样指定格式时:{{my_date | date:'MM/dd/yyyy at hh:mm a'}}

我得到:08/23/2017 AMt 11:07 AM

我尝试用引号将文本括起来:{{my_date | date:'MM/dd/yyyy "at" hh:mm a'}}

但这只是在输出中添加了引号:08/23/2017 "AMt" 11:07 AM.

这样做的唯一方法是将其分成两个独立的管道,格式的两侧像{{my_date | date: 'MM/dd/yyyy}} at {{my_date | date: 'hh:mm a'}}

或者有没有办法逃避ainat以便它显示文本at而不是AMt

4

2 回答 2

37

我有这个确切的情况。我能够通过用包围文字文本来使其工作\'

{{my_date | date: 'yyyy/MM/dd \'at\' HH:mm:ss'}}

于 2017-11-19T08:10:41.473 回答
2

也许你可以创建一个简单的管道,

@Pipe({
    name: 'dateFormatPipe',
})
export class dateFormatPipe implements PipeTransform {
    transform(value: string) {
       var datePipe = new DatePipe("en-US");
        value = datePipe.transform(value, 'MMM-dd-yyyy') + ' at ' + datePipe.transform(value, 'hh:mm a');
        return value;
    }

}

<p>{{currentTime | dateFormatPipe}}</p>

参考1 ,参考2

于 2017-10-13T12:47:27.007 回答