2014-07-09 11 views
14

Làm cách nào để định dạng lưới góc mà nhận các thực thể có thuộc tính thời gian ngày gọi là startTime và endTime để hiển thị thời gian ở định dạng AM/PM? Hiện tại tôi đang sử dụng:Hiển thị thời gian ở định dạng AM/PM với lưới góc

{ field: 'StartTime', displayName: 'Start Time', cellFilter: 'date:\'hh:mm tt\''}, 
{ field: 'EndTime', displayName: 'End Time', cellFilter: 'date:\'hh:mm tt\''}, 

và rõ ràng là 'tt' hiển thị thay vì AM hoặc PM. Có ai thực hiện AM/PM trong một ngây ngất Angular trước?

Trả lời

24

Nó là đơn giản, thấy điều này:

{ field: 'createdOn', displayName: 'Created On', width: '180px', 
cellTemplate: "<div class='ngCellText'>{{row.entity.createdOn | date:'MM/dd/yy h:mm:ss a'}}</div>" }, 

Vậy đó

Để biết thêm chi tiết về date format see this

3

Chỉ cần ghép một số thứ lại với nhau. Thứ nhất, một bộ lọc:

app.filter('ampmtime', 
    function() { 
     return function (value) { 
      if (!value) { return ''; } 
      var hours = new Date(value).getHours(); 
      var minutes = new Date(value).getMinutes(); 
      var ampm = hours >= 12 ? 'PM' : 'AM'; 
      hours = hours % 12; 
      hours = hours ? hours : 12; // the hour '0' should be '12' 
      minutes = minutes < 10 ? '0' + minutes : minutes; 
      var strTime = hours + ':' + minutes + ' ' + ampm; 
      return strTime; 
     } 
    }); 

Sau đó, các cuộc gọi đến các chức năng trên gridOptions:

{ field: 'StartTime', displayName: 'Start Time', cellFilter: 'ampmtime'}, 
{field:'EndTime', displayName: 'End Time', cellFilter: 'ampmtime'} 

Và bạn đã cài đặt xong.

2

Chỉ gặp phải sự cố tương tự này và tìm thấy giải pháp đơn giản hơn bằng cách sử dụng bộ lọc ngày của góc. Bạn chỉ cần thay đổi tt đến một, như vậy

{ field: 'StartTime', displayName: 'Start Time', cellFilter: 'date:\'hh:mm a\''} 

thấy refference góc của cho bộ lọc ngày - https://docs.angularjs.org/api/ng/filter/date

Các vấn đề liên quan