角度时间格式不正确

时间:2015-09-24 22:24:47

标签: angularjs

我从服务中获取以下JSON:

{
    "DailyEventCaseID": 1,
    "LocID": "LA ",
    "CourtRoom": "9",
    "CaseID": 3,
    "EventDate": "2015-09-14T00:00:00",
    "SortTime": "08:30",
    "SeqNumber": 1,
    "StatusID": null,
    "Case": {
      "CaseID": 3,
      "CaseNumber": "BP118652",
      "DivisionCode": "PR",
      "District": "LA ",
      "CaseTitle": "KRAUS, MARGARITH - TRUST DTD 07/07/98"
    },
    "Status": null,
    "Events": [
      {
        "EventID": 9,
        "DailyEventCaseID": 1,
        "EntityNumber": "0020",
        "EventName": "INSTRUCTIONS",
        "DailyEventCase": null
      }
    ]
  }

我希望SortTime字段显示为上午8:30,所以我在我的视图中显示为:

{{case.SortTime | date: 'h:mm a'}}

它仍然只显示为8:30而不是8:30。

我做错了什么?

1 个答案:

答案 0 :(得分:0)

在您的代码中,case.SortTime不是日期对象。它只是一个字符串。所以不应用日期过滤器。

方法1: 假设您只需要时间而不管日期,我建议您使用此方法。但这不是一个好习惯。 在您的控制器中,您可以将timeParams = $scope.case.SortTime.split(':') $scope.case.SortTime = new Date(0,0,0,timeParams[0],timeParams[1]) 覆盖为

{{case.SortTime | date: 'h:mm a'}}

现在AM/PM将为您提供var app = angular.module('app', []); app.filter('timeFilter', function () { return function (sortTime) { var timeParams = sortTime.split(":"); timeParams[2] = "AM" if(timeParams[0] >= 12){ timeParams[0] -= 12; timeParams[2] = "PM" } return timeParams[0]+':'+timeParams[1]+' '+timeParams[2] }; }); 的约会时间。 请参阅http://jsfiddle.net/radik305411/dys6atmj/以获取帮助。

方法2:创建自定义过滤器。

{{case.SortTime | timeFilter }}

现在for (int i = k; i <= j; i++) { if (i%2 ==0) { System.out.println(i); } } 会提供您需要的结果。