1

私のAngularアプリケーションでは、配列obオブジェクトを返すWCF RESTサービスを呼び出しています。ここで、プロパティの1つはDateTime型で、JSONでそのような形式でシリアル化されます

[{"date":"\/Date(1295164800000-0800)\/",...

テンプレートでうまく表示するために、その JSON 表現を JavaScript の Date オブジェクトに変換するフィルターを作成しました。

eventsApp.filter("fromMSDate", function(){
   return function (jsonDate) {
       var D, dtime, T, tz, off,
           dobj = jsonDate.match(/(\d+)|([+-])|(\d{4})/g);
       T = parseInt(dobj[0]);
       tz = dobj[1];
       off = dobj[2];
       if (off) {
           off = (parseInt(off.substring(0, 2), 10) * 3600000) +
               (parseInt(off.substring(2), 10) * 60000);
           if (tz == '-') off *= -1;
       }
       else off = 0;
       return new Date(T + off).toUTCString();
   }
});

こんな感じで使っています

            <span class="span1">Date:</span>
            <span>{{event.date | fromMSDate}}</span>

すべてが必要に応じて機能します。ページに JS Date オブジェクトが表示されていますが、形式が気に入らないため、'date'フィルターを適用しようとしましたが、成功しませんでした。

            <span class="span1">Date:</span>
            <span>{{event.date | fromMSDate | date:'medium'}}</span>

date何らかの理由でフィルターが無視され、日付が として表示されますFri, 15 Mar 2013 00:00:00 GMT

ここで何が間違っていますか?

どうも

4

1 に答える 1