2016-11-23 21 views
0

AngularJS組み込みフィルタを使用して日付の書式を設定できません。私はと日付オブジェクトで日時文字列を取得しています:私は取得しています現在AngularJS日付形式

<span class="from-date">{{date.from_date | date:'MM/dd/yyyy'}}</span> 
<span class="to-date">{{date.to_date | date:'MM/dd/yyyy'}}</span> 

私はHTMLに以下のコードを使用してい

{ 
    'from_date' : '2016-10-01T00:00:00.000Z' 
    'to_date': '2016-10-31T23:59:59.999Z' 
} 

'10/01/2016' と 'それぞれ11/01/2016となります。私は日付をそれぞれ'10/01/2016 'と'10/31/2016'として表示します。

+0

** DBに日付を保存するときにタイムゾーンを気にしないと思います**あなたの日付を見て、フィルターが行っている、その正しい。サーバーから返された日付が正しい日付であることを確認する必要があります。 –

答えて

0

あなたの終了日は11/01に非常に近いので、時間を取り除くカスタムフィルタで日付をパイプしない限り、あなたはその効果を維持すると思います。

正規表現フィルタはおそらく日付だけをキャプチャするのに適しています。

常にこの日付形式を正確に取得してもよろしいですか?

もしそうなら、

^(\d{4}-\d{2}-\d{2})T\d{1,2}:\d{1,2}:\d{1,2}(?:\.\d{0,3})?Z$ 

はMoment.jsはあなたの問題を助けるかもしれない

+0

いいえ、日付オブジェクトが常にそのようになるかどうかはわかりません。 –

+1

あなたはまたこの記事から@Ilan Frumerのアプローチを試すことができます:http://stackoverflow.com/questions/21133776/ignore-time-zone-angularjs最初に時間を "timezone" – wzr1337

0

http://momentjs.com/

最初のキャプチャグループにあなたの日付を取得します。このライブラリを使用することによって、あらゆる種類の日付書式を隠すことができます。コントローラで関数を作成してライブラリを使用し、フィルタで呼び出すことができます