Javascript 将时间转换为ISO角度格式
我正在点击一个API并获取JSON数据 我需要使用角度过滤器更改JSON的格式。我要返回的日期格式为:Javascript 将时间转换为ISO角度格式,javascript,angularjs,filter,iso,Javascript,Angularjs,Filter,Iso,我正在点击一个API并获取JSON数据 我需要使用角度过滤器更改JSON的格式。我要返回的日期格式为:10/07/2014,时间格式为:0745 我编写了一个称为的角度函数,它将日期转换为ISO: appController.filter('dateToISO', function(){ return function(input) { input = new Date(input).toISOString(); return input; }; })) 然后我使用角度过滤器正
10/07/2014
,时间格式为:0745
我编写了一个称为的角度函数,它将日期转换为ISO:
appController.filter('dateToISO', function(){
return function(input) {
input = new Date(input).toISOString();
return input;
};
}))
然后我使用角度过滤器正确地渲染它(日期=10/07/2014
:
{{outboundFlights.departure_day | dateToISO | date: 'mediumDate'}}
它指出:2014年10月7日
不幸的是,这不适用于时间(时间=0745
):
它输出:6:00PM
你知道为什么日期有效,但时间无效吗?还有什么可能的解决办法吗
我需要将时间按原样转换为ISO,以便正确使用过滤器。因此我对其进行了标识。我必须将其转换为带有自定义过滤器的“正常”超时:
appController.filter('timeToNormal', function(){
return function(input) {
var splitTime = input.split("");
var timeFormat = splitTime[0]+splitTime[1]+":"+splitTime[2]+splitTime[3];
var newTime = new Date("June 19, 1987 "+splitTime[0]+splitTime[1]+":"+splitTime[2]+splitTime[3]);
return newTime;
};});
首先,我将其拆分为一个数组,然后在第二个和第三个数字之间放置一个冒号:
,然后使用普通的日期过滤器传递,HTML如下所示:
{{outboundFlights.arrival_time | timeToNormal | date: 'shortTime'}}
这就为内置的“日期”角度过滤器提供了一种可接受的格式。我认为您需要先将军用时间格式更改为正常格式,才能使其正常工作
{{outboundFlights.arrival_time | timeToNormal | date: 'shortTime'}}