首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Angular8:全局日期格式配置

Angular8:全局日期格式配置
EN

Stack Overflow用户
提问于 2019-08-27 16:07:37
回答 2查看 1.3K关注 0票数 1

我正在使用Angular8,并希望格式化日期和时间,但我不得不一次又一次地使用具有相同格式模式的日期管道,如下所示

代码语言:javascript
复制
<p>{{ myDate | date: 'dd MMM yyyy, h:mm a' }}</p>
<p>{{ myOtherDate date: 'dd MMM yyyy, h:mm a' }}</p>
<p>{{ otherVar }}</p>
<p>{{ myOtherOtherDate date: 'dd MMM yyyy, h:mm a' }}</p>

同样的格式date: 'dd MMM yyyy, h:mm a'将被使用在我的项目的每个组件中。

有没有办法在我的App Module的提供者中提供全局配置,就像这样

代码语言:javascript
复制
@NgModule({
    providers: [
        {provide: LOCAL_PIPE_DATE_PATTERN, useValue: 'ddMMyy'},
    ],
})
export class AppModule {}

只需使用日期管道作为

代码语言:javascript
复制
<p>{{ myDate | date }}</p>
<p>{{ myOtherDate | date }}</p>
<p>{{ otherVar }}</p>
<p>{{ myOtherOtherDate | date:'MMyyDD' }}</p> (If format changed)
EN

回答 2

Stack Overflow用户

发布于 2019-08-27 16:31:28

您可以在ts文件中创建一个本地DatePipe,并将日期转换为您最常用的格式,其余时间则使用管道本身。

代码语言:javascript
复制
    yourNormalDateString : Date = new Date();
    datePipe = new DatePipe('YOUR_LOCAL_CODE');
    dateToDisplay = this.datePipe.transform(this.yourNormalDateString, 'Your Date Format String');
票数 0
EN

Stack Overflow用户

发布于 2019-08-27 16:49:34

您可以在项目中创建新的日期管道,并始终初始化格式

代码语言:javascript
复制
@Pipe({
    name: "myDate"
})
export class MyDatePipe {

    constructor(private datePipe: DatePipe) {}

    transform(value: any): string {
        let format = "dd MMM yyyy, h:mm a";
        return this.datePipe.transform(new Date(value), format);
    }
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57670271

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档