.ts 文件中 datepipe.transform 方法的 dd/mm/yyyy 格式
dd/mm/yyyy format for datepipe.transform method in .ts file
我正在解析一个 csv 文件,该文件的日期列为 dd/mm/yyyy 格式。在将日期保存到数据库之前,需要将日期格式转换为 yyyy-mm-dd。所以我为此使用 datepipe.transform 方法如下
this.datePipe.transform(x[this.csvcolumns.colDOB], 'yyyy-MM-dd','de')
默认情况下,datepipe 只接受美国日期格式,即 mm/dd/yyyy。所以对于像 18/02/2000 这样的日期,日期管道会抛出如下错误。
InvalidPipeArgument: 'Unable to convert "13/02/2012" into a date' for pipe 'DatePipe'
我在app.module.ts中添加了以下配置。
import { registerLocaleData } from '@angular/common';
import localeDe from '@angular/common/locales/de';
registerLocaleData(localeDe);
那么在 DatePipe.transform 中添加 LocaleId 的最佳方法是什么
(method) DatePipe.transform(value: any, format?: string, timezone?:
string, locale?: string): string
我需要为此在构造函数中进行任何更改吗?我的构造函数如下所示
providers: [DatePipe] })
export class BulkuploadPage implements OnInit {
constructor(private datePipe: DatePipe) { }
ngOnInit() {}
就个人而言,我认为在自定义 datePipe 之外使用 datePipe 转换有点 anti-pattern。
这是我使用 moment 的方式:
myFormattedDate = moment('13/02/2000', 'DD/MM/YYYY').format('YYYY-MM-DD');
//where..
myFormattedDate = moment(yourDate, currentFormat).format(desiredFormat);
然后你就可以使用
<p>{{ someDate | date: 'YYYY-MM-dd' }}</p>
请注意,您可能不需要使用管道的格式部分,具体取决于您是否更改了默认值。
工作示例:
https://stackblitz.com/edit/angular-ps68n4?file=src%2Fapp%2Fapp.component.ts
我正在解析一个 csv 文件,该文件的日期列为 dd/mm/yyyy 格式。在将日期保存到数据库之前,需要将日期格式转换为 yyyy-mm-dd。所以我为此使用 datepipe.transform 方法如下
this.datePipe.transform(x[this.csvcolumns.colDOB], 'yyyy-MM-dd','de')
默认情况下,datepipe 只接受美国日期格式,即 mm/dd/yyyy。所以对于像 18/02/2000 这样的日期,日期管道会抛出如下错误。
InvalidPipeArgument: 'Unable to convert "13/02/2012" into a date' for pipe 'DatePipe'
我在app.module.ts中添加了以下配置。
import { registerLocaleData } from '@angular/common';
import localeDe from '@angular/common/locales/de';
registerLocaleData(localeDe);
那么在 DatePipe.transform 中添加 LocaleId 的最佳方法是什么
(method) DatePipe.transform(value: any, format?: string, timezone?:
string, locale?: string): string
我需要为此在构造函数中进行任何更改吗?我的构造函数如下所示
providers: [DatePipe] })
export class BulkuploadPage implements OnInit {
constructor(private datePipe: DatePipe) { }
ngOnInit() {}
就个人而言,我认为在自定义 datePipe 之外使用 datePipe 转换有点 anti-pattern。
这是我使用 moment 的方式:
myFormattedDate = moment('13/02/2000', 'DD/MM/YYYY').format('YYYY-MM-DD');
//where..
myFormattedDate = moment(yourDate, currentFormat).format(desiredFormat);
然后你就可以使用
<p>{{ someDate | date: 'YYYY-MM-dd' }}</p>
请注意,您可能不需要使用管道的格式部分,具体取决于您是否更改了默认值。
工作示例: https://stackblitz.com/edit/angular-ps68n4?file=src%2Fapp%2Fapp.component.ts