AnglarJS処理AS.Net MVC Json返却日

925 ワード

参照http://stackoverflow.com/questions/22435212/angular-js-format-date-from-json-object
ASP.NET MVCは、JSONタイプに戻ると、時間の書式は「/Date(1306418993027)/」となります。
public ActionResult Test()
{
    List<Person> persons = new List<Person>();
    //...
    return Json(persons, JsonRequestBehavior.AllowGet);
}
Personにはbithdayフィールドがあります。
戻るJsonでは、日付フォーマット時間のフォーマットは「/Date(1306418993027)/」となります。
jsで使えます
return new Date(parseInt(x.substr(6)));
を選択します
AnglarJSでは、filterをカスタマイズすればいいです。
myApp.filter("jsDate", function () {
    return function (x) {
        if (null == x) {
            return null;
        }
        else {
            return new Date(parseInt(x.substr(6)));
        }
    };
});
使うところにあります
<td>{{person.birthday|jsDate| date: 'yyyy-MM-dd HH:mm:ss'}}</td>
その中のdateはAnglarJSが持参したフィルターです。