在Angular2中,我们可以使用typeScript使用Datepipe格式化日期:
new DatePipe(navigator.language ||'en-us')。transform(mydate,'medive')
但是,我想在HTML侧进行此操作。我读到我可以这样做:
mydate |日期:'Medive'
但是,这仍然没有照顾本地化,因为它没有通过语言。我如何修改html中管道的用法,以便我也可以通过语言?
如果要使用 DatePipe
,则仅限于那里提供的默认值,但是如果您想在模板中设置网站,无论是文字还是来自变量,则可以定义这样的自定义管道:
import { Pipe, PipeTransform } from '@angular/core';
import { DatePipe } from '@angular/common';
@Pipe({name: 'dateWithLocale'})
export class DateWithLocalePipe implements PipeTransform {
constructor(){}
transform(value: string, locale: string, pattern: string): number {
return new DatePipe(locale).transform(value, pattern);
}
}
并这样使用:
{{time | dateWithLocale: 'en-US' : 'short'}}
您可以在这里看到工作示例。