在 Angular2 中,我们可以使用 DatePipe 使用 typescript 格式化日期:
新 DatePipe(navigator.language || 'en-US').transform(mydate, 'medium')
但是,我想在 HTML 端执行此操作。我读到我可以这样做:
我的日期 | 日期:'中'
但是,这仍然没有考虑本地化,例如,它没有通过语言。如何在我的 HTML 中修改管道的用法,以便我也可以传递语言?
在 Angular2 中,我们可以使用 DatePipe 使用 typescript 格式化日期:
新 DatePipe(navigator.language || 'en-US').transform(mydate, 'medium')
但是,我想在 HTML 端执行此操作。我读到我可以这样做:
我的日期 | 日期:'中'
但是,这仍然没有考虑本地化,例如,它没有通过语言。如何在我的 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'}}
您可以在此处查看工作示例。