angular - 如何在 Angular 中正确使用 datePipe
问题描述
我试图弄清楚这一点已经有几个小时了。我试图简单地将时间戳Timestamp(seconds=1555755972, nanoseconds=393000000)
转换为正常日期 dd/mm/yyyy。
我从 firestore 获取文档列表,然后通过我的组件传递它们:
export class MissionComponent implements OnInit {
missions: Mission[];
mission: any = {};
constructor(
private missionService: MissionService,
private datePipe: DatePipe)
{}
ngOnInit() {
this.missionService.getMissions().subscribe(data => {
this.missions = data.map(e => {
return{
id: e.payload.doc.id,
...e.payload.doc.data()
} as Mission;
});
});
}
然后我在 html 中通过 for 循环显示了几个文件:
<tr *ngFor="let mission of missions">
..
<td>{{mission.dataRitiro.toDate() }}</td>
<td>{{mission.dataConsegna.toDate() }}</td>
...
mission.dataRitiro
给我Timestamp(seconds=1555755972, nanoseconds=393000000)
如果我正在转换我mission.dataRitiro
得到.toDate()
Wed Apr 03 2019 00:00:00 GMT+0200 (Ora legale dell’Europa centrale)
直到这里一切正常,但我想得到03/04/2019
,所以,在互联网上搜索我找到了方法datePipe
,我只需要写mission.dataRitiro.toDate() | date: 'dd/mm/yyyy'
,但如果我在 html 中写它,我只会得到一个空白字段,在控制台中我得到这个错误
Error: InvalidPipeArgument: 'Missing locale data for the locale "it-IT".' for pipe 'DatePipe'
at...
但在我的 app.module 中,我已导入
import { NgModule, LOCALE_ID } from '@angular/core';
并插入到提供程序中
{ provide: LOCALE_ID, useValue: "it-IT" }
所以在这一点上,我真的不知道该怎么办。感谢你们。
解决方案
推荐阅读
- php - CakePhp 2.x 在 Ajax 请求上打印 sql 查询
- vue.js - nuxt.js 仅在生成静态页面时构建错误?
- google-cloud-sql - 使用 Cloud SQL 作为 Keycloak 的数据库
- java - 如何仅将 Angular 2+ 应用程序作为 GUI 嵌入 JavaFX WebView?
- android - 如何添加编译器参数“-AparcelerStacktrace”来调试 Parceler Android 库
- macros - 使用宏构建具有动态输入的函数
- json - 读取 JSON 对象中的特定列
- java - 在 RxJava 中处理 observables 和中断它们的正确方法
- javascript - 我的反应应用程序工作正常,但测试不
- angular - 在 TypeScript 中从 iFrame 调用函数