使用Angular js从datetime中提取时间

时间:2013-09-05 11:07:39

标签: javascript datetime angularjs angularjs-directive

我需要使用Angular js从日期时间(例如:2013-09-03 05:02:04)中提取小时和分钟。我已经这样做了。

JSON数据:

{
    "status": "success",
    "data": [
        {
            "PriorityPassReservation": {
                "site_id": "8",
                "id": "235907",
                "priority_pass_schedule_id": "4",
                "member_id": null,
                "member_guid": "8-853414",
                "reservation_dt": "2013-09-05 19:00:00",
                "checkin_dt": null,
                "reminder_sent": "0",
                "created": "2013-09-03 05:02:04",
                "modified": "2013-09-03 05:02:04",
                "status": "booked"
            }
]
}

HTML:

    <tr ng-repeat="priority in priorityDetails.data">
     <td class="no">{{ $index +1 }}</td>

  <td class="priority_time">{{priority.PriorityPassReservation.reservation_dt| date:' hh:mm'}}</td>

  </tr>

但它没有给出实际结果。有人知道解决方案吗?

注意:priority.PriorityPassReservation.reservation_dt是一个json字符串

2 个答案:

答案 0 :(得分:3)

我认为该问题可能与仅支持符合ISO8601标准的日期字符串格式的角度日期过滤器有关。 您只需将日期字符串转换为日期对象即可。

<td class="priority_time">
    {{getDateObject(priority.PriorityPassReservation.reservation_dt) | 
    date:' h:mm'}}
</td>

在您的控制器中:

$scope.getDateObject = function(dt){
    /* convert to date object */
    /* return new Date(2013,8,3,5,2,4); */
}

答案 1 :(得分:0)

时间 - 05:02:04(0-24格式)。尝试使用'hh:mm'。或使用时间格式2010年10月29日上午8:40:23(有AM)。