我正在使用AngularJS构建一个html应用程序,其中我想在html页面上显示json文件数据。任何人都可以帮助我将GMT日期格式从json文件转换为小时:分钟AM / PM
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 :(得分: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>
答案 1 :(得分:0)
@worldask提供的链接说
日期格式为日期对象,毫秒(字符串或数字)或各种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;
}
});