我得到的日期格式为/Date(1495111091673)/
。
我创建了一个自定义过滤器来更改日期格式。
app.filter('jsonDate', function () {
return function (date) {
return new Date(date.match(/\d+/)[0] * 1);
}
})
此过滤器会返回这样的日期。
Thu May 18 2017 18:08:11 GMT+0530 (India Standard Time)
但我希望它像dd/MM/yyyy
这样的标准格式,所以我编辑了我的过滤器代码:
app.filter('jsonDate', function () {
return function (date) {
return new Date(date.match(/\d+/)[0] * 1, 'dd MMMM @ HH:mm:ss');
}
})
这是对的吗?
答案 0 :(得分:1)
此过滤器返回此日期的日期 2017年5月18日星期四18:08:11 GMT + 0530(印度标准时间)
不,它不是,您的控制台(或其他)选择如何显示Date
实例(通过Date.prototype.toString()
)。
我只是使用AngularJS' date
过滤器〜https://docs.angularjs.org/api/ng/filter/date。
例如(其中dateFormat
是您的"/Date(1495111091673)/"
格式化字符串)
{{dateFormat | jsonDate | date : 'shortDate'}}
或者在JS中
let parsed = $filter('jsonDate')(dateFormat)
let dateString = $filter('date')(parsed, 'shortDate')
或通过DI
.controller('controllerName', ['dateFilter', 'jsonDateFilter',
function(dateFilter, jsonDateFilter) {
let dateString = dateFilter(jsonDateFilter(dateFormat), 'shortDate')
}])