Javascript 如何将此日期转换为其他格式
这是我的Angular应用程序Javascript 如何将此日期转换为其他格式,javascript,angularjs,Javascript,Angularjs,这是我的Angular应用程序 var filterData = angular.module('myApp',[]).controller('CallWebApi', function($scope, $http) { // Local version of the data $http.get('./events.js'). success(function (data) { $scope.data = data.result.item
var filterData = angular.module('myApp',[]).controller('CallWebApi', function($scope, $http) {
// Local version of the data
$http.get('./events.js').
success(function (data) {
$scope.data = data.result.items;
console.log('success ' + data)
})
.error(function(data) {
console.log('failure ' + data)
});
});
filterData.filter('removeSpacesThenLowercase', function () {
return function (text) {
var str = text.replace(/\s+/g, '-');
return str.toLowerCase();
};
})
日期在我的数据中如下所示:
"{B588A80F-A8C0-4A97-A35A-07D81ED53E9B}": {
"Name": "Expiration Date",
"Type": "Date",
"Value": "20150827T000000"
},
这是我的HTML:
<table>
<tr>
<th>Name</th>
<th>Location</th>
<th>Date</th>
</tr>
<tr ng-repeat="item in data">
<td><a href="{{ item.Name | removeSpacesThenLowercase }}">{{ item.Fields["{BB2389F3-555B-4FC6-B106-C0A23A55A15F}"].Value }}</a></td>
<td>{{ item.Fields["{123A77C7-07D5-4CAA-85E0-8F9B9CEE110C}"].Value }}</td>
<td>{{ item.Fields["{B588A80F-A8C0-4A97-A35A-07D81ED53E9B}"].Value }}</td>
</tr>
</table>
名称
位置
日期
{{item.Fields[{123A77C7-07D5-4CAA-85E0-8F9B9CEE110C}].Value}
{{item.Fields[{B588A80F-A8C0-4A97-A35A-07D81ED53E9B}].Value}
如何转换此日期:
20150827T000000
转换为以下格式:
2015年8月27日?这应该可以:
var d = '20150827T000000';
console.log(d.substr(4,2) + '/' + d.substr(6,2) + '/' + d.substr(0,4));
// will give you '08/27/2015'
我创建了一个演示,介绍了如何将其集成到angular中:
您可以创建一个过滤器:
myModule.filter('formatData', function () {
return function (d) {
return d.substr(4,2) + '/' + d.substr(6,2) + '/' + d.substr(0,4);
};
})
然后在您的视图中使用它:
{{test["{B588A80F-A8C0-4A97-A35A-07D81ED53E9B}"].Value|formatData}}
以及格式化数据的fork:您可以尝试对内置的日期
对象(ps作者)进行扩展
例如:
var date = new DateX( );
var formatted = date.format('Y-m-d H:i:s');
var parsed = DateX.parse(formatted, 'Y-m-d H:i:s');
console.log(formatted);
console.log(parsed.format('Y-m-d H:i:s'));
对于您的示例,可以将其解析(同时验证)为实际日期
var date = DateX.parse("20150827T000000", 'YmdHis');
关于如何将其集成到我的代码中,您有什么具体的建议吗?我是一个极端的初学者,很难理解。你能创造一个普朗克吗?所以我可以添加在Pucker中创建的更改,但无法使其工作。我会继续努力。。。因为您的控制台日志中有一个错误,angular未定义,您在index.html中的script.js之后包含angular,它应该在它之前。请查看包含格式化数据的fork:)