我正在使用angularjs
,从后端我得到一个像这样的字符串的日期信息
/Date(1262293800000+0300)/
如何将这些细节转换为可读日期,例如:04 March 2015
,如此?
这是我的功能:
$scope.conractorInfo = function ( contractor ) {
$location.search('id', contractor.Id);
server.contractor.get({id:$routeParams.id, contid:contractor.Id}).$promise.then(function (data) {
$scope.contractor = data;
console.log(typeof $scope.contractor.WeekDate);
//consoles as : `/Date(1262293800000+0300)/`
});
}
答案 0 :(得分:1)
您知道 angularjs过滤器的格式吗? Doc
示例:jsfiddle
Html文件
<div ng-controller="TestCtrl">
<span>{{date[0] | date:'mediumDate'}}</span>
</div>
Js档案
angular.module('myApp', []);
function TestCtrl($scope) {
var regex = /\d+/g;
var string = "/Date(1262293800000+0300)/";
$scope.date = string.match(regex);
}
答案 1 :(得分:-1)
即使AngularJs为日期提供过滤功能,也无法过滤JSON日期,站在文档中:
格式化日期对象,毫秒(字符串或数字)的日期 或various ISO 8601日期时间字符串格式(例如 yyyy-MM-ddTHH:mm:ss.sssZ及其较短的版本 yyyy-MM-ddTHH:mmZ,yyyy-MM-dd或yyyyMMddTHHmmssZ)
您应该将其转换为日期,然后使用过滤器,或者,如果您希望创建自定义过滤器like this(未经我测试,只是一个想法)。
否则我建议使用像moment.js这样的库:
moment("/Date(1262293800000+0300)/") //
该库还提供了一些formatting选项,可以根据需要显示数据。
您应该使用ISO8601投诉日期,这是一种旧格式,如果您在.NET环境中,请查看JSON.net序列化库。