我有一些我需要转换的独特数据
需要将"01/23/2017"
转换为23-Jan-17 (Fri)
还需要转换0238
//我认为这是2小时38分钟?
最后转换15:00
//我假设军队?到3:00pm
?
样本数据
"ArrivalDate": "01/23/2017",
"DepartureDate": "01/23/2017",
"DepartureAirport": "ORD",
"DepartureTime": "15:00",
"ArrivalAirport": "MCO",
"ArrivalTime": "18:38",
"TravelTime": "0238",
答案 0 :(得分:0)
由于您提供的信息非常少,我只能在下面给您一些建议:
最好能让您的输入采用日期时间格式,例如1482826055407,然后您可以通过角度日期过滤器获得您喜欢的任何显示日期格式,或者您可以创建自定义日期过滤器。
以下是使用时刻支持全球化的自定义日期过滤器示例,如果您不需要该功能,则可以使用角度$filter('date')服务替换它。
angular.module('aaa.ccc')
.filter('momentDate', [
function () {
'use strict';
return function (timestamp) {
if(!isNaN(parseInt(timestamp))){
return moment(parseInt(timestamp)).format('L');
}
};
}
]);
答案 1 :(得分:0)
您可以使用这些方法getTravelDateFormatted
和getTravelDateFormatted
创建两个AngularJS过滤器:
var getTravelDateFormatted = function (str) {
var daysNames = ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'],
monthNames = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sept', 'Oct', 'Nov', 'Dec'],
d = new Date(str),
day = d.getDate(),
month = monthNames[d.getMonth()],
year = d.getFullYear().toString().substr(2, 2),
dayName = daysNames[d.getDay()];
return day + '-' + month + '-' + year + ' (' + dayName + ')';
},
getTravelTimeFormatted = function (str) {
var hours = Math.trunc(str / 60),
minutes = str % 60;
return hours + ':' + minutes;
};
console.log(getTravelDateFormatted('01/23/2017'));
console.log(getTravelTimeFormatted('0238'));
答案 2 :(得分:0)
首先,您需要将字符串转换为日期$scope.someDate = new Date('01/23/2017')
然后在视图{{someDate | date:'dd-MMM-yy (EEE)'}}
或者您可以通过控制器中的$filter使用日期过滤器。