2015-07-12 259 views
0

我正在使用AngularJS構建html應用程序,其中我想在html頁面上顯示json文件數據。誰能幫我從JSON文件轉換GMT日期格式小時:分鐘AM/PM將GMT日期格式轉換爲時間格式

JSON文件看起來是這樣的:

[ 
    { 
     "startTime": "Sun May 24 2015 01:00:00 GMT+0530 (IST)", 
     "endTime": "Sun May 24 2015 01:30:00 GMT+0530 (IST)", 
     "title": "Event 1" 
    }, 
    { 
     "startTime": "Sun May 24 2015 04:00:00 GMT+0530 (IST)", 
     "endTime": "Sun May 24 2015 06:00:00 GMT+0530 (IST)", 
     "title": "Event 2" 
    }, 
    { 
     "startTime": "Sat May 23 2015 20:00:00 GMT+0530 (IST)", 
     "endTime": "Sat May 23 2015 21:30:00 GMT+0530 (IST)", 
     "title": "Event 3" 
    }, 
    { 
     "startTime": "Sat May 23 2015 21:30:00 GMT+0530 (IST)", 
     "endTime": "Sat May 23 2015 22:15:00 GMT+0530 (IST)", 
     "title": "Event 4" 
    }, 
    { 
     "startTime": "Sun May 24 2015 02:00:00 GMT+0530 (IST)", 
     "endTime": "Sun May 24 2015 03:00:00 GMT+0530 (IST)", 
     "title": "Event 5" 
    } 
] 

回答

0

鏈接通過@wor提供ldask說

日期格式化或者作爲日期對象毫秒(字符串或數字)或各種ISO 8601 日期時間字符串格式(例如yyyy-MM-ddTHH:mm:ss.sssZ及其較短版本,如yyyy-MM-ddTHH:mmZ,yyyy-MM-dd或yyyyMMddTHHmmssZ)。如果 沒有在字符串輸入中指定時區,則時間被認爲是 在本地時區。

所以我使用的是自定義過濾器轉換Sun May 24 2015 01:00:00 GMT+0530 (IST)milliseconds,然後使用角度濾波器顯示爲hh:mm AM/PM

HTML

<div ng-repeat="date in dateJson"> 
     {{date.startTime | myDateFilter | date:'hh: mm a' }} 
</div> 

dateJson是你的樣品JSON ...

自定義過濾器

app.filter('myDateFilter', function() { 

    return function(dateString) { 
    var date = new Date(dateString) 

    // converting to milliseconds 
    dateString = date.getTime(); 
    return dateString; 
    } 
}); 

SAMPLE PLUNKER

1

您的JSON數據分配給一個範圍變量:

scope.data = [ 
    { 
     "startTime": "Sun May 24 2015 01:00:00 GMT+0530 (IST)", 
     "endTime": "Sun May 24 2015 01:30:00 GMT+0530 (IST)", 
     "title": "Event 1" 
    }, 
    ... 
]; 
在你的HTML

,您可以使用angularjs date filter這樣的:

<div>{{ data[0] | date: 'h:m a' }}</div> 
+0

用於顯示上午/下午您可以使用過濾器,如{{data |日期:'h:m a'}}' –

+0

是的,我錯過了,謝謝 – worldask

相關問題