Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 角度格式化Y-m-d H:i:s_Javascript_Angularjs - Fatal编程技术网

Javascript 角度格式化Y-m-d H:i:s

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.

我来自jQuery/PHP背景,通常使用一个静态方法来完成这项工作,该方法接受输入并将其格式化返回

日期:
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 }}