2017-09-07 126 views
0

日期管在Angular2通語言,我們可以使用DatePipe使用打字稿日期格式爲:與角2 HTML模板

新DatePipe(navigator.language || 'EN-US')變換(指明MyDate, 'medium')

但是,我想在HTML端做到這一點。我讀到我可以這樣做:

mydate | date:'medium'

但是,這仍然沒有考慮到本地化,因爲它不通過語言。如何在我的HTML中修改管道的使用情況,以便我還可以傳遞語言?

+0

你見過這個:https://stackoverflow.com/questions/34904683/how-to-set-locale-in-datepipe-in​​-angular-2 – DeborahK

回答

0

如果你想使用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'}} 

你可以看到工作示例here