使用丹麦语语言环境时,我遇到了angular2日期管道的问题。
当我格式化日期时:
{{myDate | date:'dd-MM-yyyy'}}
它输出日期的日期,并带有这样的后缀:
17.-03-2017
尽管我希望它是这样的:
17-03-2017
区域设置在app.module中设置如下:
providers: [ {provide: LOCALE_ID, useValue: 'da-DK'} ]
我已经使这个plnkr更清晰http://plnkr.co/edit/A5ddrKP5cmsSZ9bTqzPh
更新
它可能与日期格式为丹麦语的方式有关。见下文:
var locale = 'da-DK';
var options = { weekday: 'long', year: 'numeric', month: 'long', day: 'numeric' };
var date = new Date(2017,2,17); var result = new Intl.DateTimeFormat(locale, options).format(date);
alert(result);
变成 - > fredag den 17. marts 2017
注意点
答案 0 :(得分:2)
本地化是“独立于平台”,ECMAscript提供规范,每个Javascript引擎都提供自己的实现。
还有一个兼容性实现Intl.js,如果它尚不存在,它将提供API。您可以看到丹麦语(丹麦)here语言环境的实现,您将看到可用的格式,并且该日始终返回之后的时段。
"availableFormats": {
"d": "d.",
"E": "ccc",
"Ed": "E 'den' d.",
"Ehm": "E h.mm a",
"EHm": "E HH.mm",
"Ehms": "E h.mm.ss a",
"EHms": "E HH.mm.ss",
"Gy": "y G",
"GyMMM": "MMM y G",
"GyMMMd": "d. MMM y G",
您可以创建自定义管道,并将其链接以删除期间
{{myDate | date:'dd-MM-yyyy'|removePeriod}}
@Pipe({name: 'removePeriod'})
export class RemovePeriodPipe implements PipeTransform {
transform(input: string) {
return input.replace(/\./g, '');
}
}