Javascript 角度格式化Y-m-d H:i:s
我来自jQuery/PHP背景,通常使用一个静态方法来完成这项工作,该方法接受输入并将其格式化返回 日期:Javascript 角度格式化Y-m-d H:i:s,javascript,angularjs,Javascript,Angularjs,我来自jQuery/PHP背景,通常使用一个静态方法来完成这项工作,该方法接受输入并将其格式化返回 日期:2014-09-27 03:15:42 在AngularJS中,我如何将其格式设置为显示2014年9月27日的中期日期 我看过这些文件,但似乎只需要时间戳 这方面的最佳做法是什么 带日期时间的角度代码: <tr ng-repeat="transaction in transactions | filter:search"> <td>{{transaction.
2014-09-27 03:15:42
在AngularJS中,我如何将其格式设置为显示2014年9月27日的中期日期
我看过这些文件,但似乎只需要时间戳
这方面的最佳做法是什么
带日期时间的角度代码:
<tr ng-repeat="transaction in transactions | filter:search">
<td>{{transaction.created_at}}</td>
<td>You {{transaction.type}} to {{transaction.to_id}}</td>
<td>{{transaction.amount}}</td>
</tr>
{{transaction.created_at}}
您可以{{transaction.type}}到{{transaction.to_id}}
{{transaction.amount}}
我正在尝试格式化
事务。在处创建一个自定义筛选器,将其转换为日期对象,然后使用date,这样一旦完成,您将以{{transaction.created|u at | convertToDate | date:'yyyyy-MM-dd HH:MM:ss Z'}结束
看
有两种方法可以实现这一点:
[1]使用服务隐式转换控制器内的给定日期
JAVASCRIPT
HTML
[2]使用自定义服务将给定的字符串日期格式转换为日期对象,然后使用实现中间日期格式
JAVASCRIPT
HTML
在检索事务时,我将创建一个字段在时间戳处创建,因为此事务日期不会更改。这样我就可以重用它,而不必每次使用它时都将其转换为Date
对象
这个逻辑应该远离控制器,所以我会把它放在服务中。诸如此类:
var app = angular.module('app',[]);
app.factory('TransactionsService', function() {
// fetched transactions
var transactions = [
{
created_at: '2014-09-27 03:15:42',
type: 'someType',
to_id: 'x',
amount: 20
},
{
created_at: '2013-02-15 14:41:02',
type: 'someType2',
to_id: 'y',
amount: 30
}
];
var get = function () {
return transactions.map(function (v) {
v.created_at_timestamp = new Date(v.created_at);
return v;
});
};
return {
get: get
};
});
app.controller('SomeController', function ($scope, TransactionsService) {
$scope.transactions = TransactionsService.get();
});
另外,显示日期的视图表达式为:
{{transaction.created_at_timestamp | date }}
看看上面的小提琴
This is set in the controller: {{mediumDate}}
.filter('toDate', function() {
return function(stringDate) {
return new Date(stringDate);
};
});
This is set on the view: {{'2014-09-27 03:15:42' | toDate | date: 'mediumDate'}}
var app = angular.module('app',[]);
app.factory('TransactionsService', function() {
// fetched transactions
var transactions = [
{
created_at: '2014-09-27 03:15:42',
type: 'someType',
to_id: 'x',
amount: 20
},
{
created_at: '2013-02-15 14:41:02',
type: 'someType2',
to_id: 'y',
amount: 30
}
];
var get = function () {
return transactions.map(function (v) {
v.created_at_timestamp = new Date(v.created_at);
return v;
});
};
return {
get: get
};
});
app.controller('SomeController', function ($scope, TransactionsService) {
$scope.transactions = TransactionsService.get();
});
{{transaction.created_at_timestamp | date }}