0

誰かが私にここで助けを提供してくれるかどうか疑問に思っています。

JSON ファイルを使用して、AngularJS を使用してタイムラインを作成しています。HTMLバインディングのng-repeatループを使用して日付を出力する方法を理解できましたが、日付出力を編集する必要があります。再フォーマット後、「2013-01-01」は「2012 年 12 月 31 日」になります。

コントローラーで日付値を取得して、その値を適切な日付に変換する関数に適用できるようにする方法を理解するのに苦労しています-別の日をそのまま日付に追加することによって.

どうもありがとうございました!それが理にかなっていることを願っています。

4

2 に答える 2

2

Javascript は日付を自動的にローカライズします。angularのdateフィルターはタイムゾーンを想定しており、タイムゾーンが指定されていない場合は UTC を想定しています。問題は、タイムゾーンのない (したがって UTC と見なされる) 文字列がローカライズされると、正確に 2013 年 1 月 1 日ではなくなりますが、タイムゾーンが何時間も遅れていることです。ここ太平洋標準時では -8 です。したがって、日付は前日に表示されます。

サーバーからのデータには、タイムゾーンが関連付けられている必要があります。これはベスト プラクティスです。それがなければ、UTCが良い賭けだと仮定します。結局のところ、何らかの基準が必要です。

必要に応じて、これがどのように機能するかのいくつかの例を示すプランカーを次に示します

于 2013-01-07T05:12:41.473 に答える
0

ビューでAngulardateFilterを使用します。コントローラの値を変更する必要はありません。これがあなたのための例です http://plnkr.co/edit/iqIpW5uADTRVFycDxdBa

AngularJS日付フィルターを読み取ります。 http://docs.angularjs.org/api/ng.filter:date

于 2013-01-06T23:06:56.147 に答える