Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/446.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 将时间转换为ISO角度格式_Javascript_Angularjs_Filter_Iso - Fatal编程技术网

Javascript 将时间转换为ISO角度格式

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; }; })) 然后我使用角度过滤器正

我正在点击一个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

{{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'}}