2017-05-10 11 views
0

私は、ISO-8601文字列としてフォーマットされた日付があります。overview.startTime = "2017-05-09T08:00:00Z"角度日付フィルタ:ローカルタイムとしてフォーマット月

が、私は私のページにこれを表示したいと私は次のコードを使用している:

Dagens arbetspass {{overview.startTime | date:'dd-MMM'}} 

「Dagens arbetspass 09-May」と表示されます。私の問題は、これがスウェーデンのサイトであることです。スウェーデンでは、大文字で月の名前を始めることはありません。また、Mayは "maj"と書かれています(最後はjで、yではありません)。私はこのようなタイムゾーンを追加しようとしました

Dagens arbetspass {{overview.startTime | date:'dd-MMM':'Europe/Stockholm'}} 

しかし、それは出力を変更しませんでした。実際には、ほとんどの月はスウェーデン語で異なって綴られています。助言がありますか?

答えて

1

javascriptの "toLocaleDateString"メソッドを使用して問題を解決してください。このメソッドは 'locale'と 'options'の2つの引数をとります。

ロケールはスウェーデン語で「sv-se」になります。

オプションは、文字列にフォーマットを提供します。たとえば - var options = { weekday: "long", year: "numeric", month:long",day:"numeric" };

var d = new Date("2017-05-09T08:00:00Z"); 
date.toLocaleDateString("sv-se", options) 

はここplunker https://plnkr.co/edit/G2IL5Zv0OAcVRMZS9HB7

+1

パーフェクト、感謝です! – BluePrint

+0

少し注意:異なるロケールを持つユーザー(チェコと言えば)がサイトにアクセスすると、スウェーデンの日付/日の名前が表示されます。 Angularの通常の 'DatePipe'は' Intl'を使い、ユーザのブラウザ/ OS設定を尊重します。 –

関連する問題