Angularjs:如何更改日期格式

标签 angularjs date-format

我正在从数据库中循环获取日期。格式类似于“2015-09-21 18:30:00”。但我想将其更改为“dd/MM/yyyy”。
我试过这样

{{obj.added_date | date : 'dd/MM/yyyy'}}

它显示像
2015-09-21 18:30:00 | date : 'dd/MM/yyyy'}}

如果我使用 fulldate 显示我喜欢:
2015-09-21 18:30:00 | date : 'fullDate'}}

简而言之,它显示如下:
2015-09-21 18:30:00 | date : 'shortDate'}}

最佳答案

您传递给 View 的日期实际上是一个字符串,因此 Angular 日期过滤器不会将其识别为日期对象。您需要先将其转换为日期对象。

还要小心 Firefox,它不适用于 new Date();如果日期分隔符在“-”而不是“/”。所以我也建议在下面

var myApp = angular.module('myApp',[]);


 myApp.controller('MyCtrl', ['$scope','$filter', function ($scope,$filter) {
       var dateStr = '2015-09-21 18:30:00';
       $scope.dt = $filter('date')(new Date(dateStr.split('-').join('/')), "d/M/yyyy 'at' h:mm a");
    }]);
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>
<bod ng-app="myApp">

<div ng-controller="MyCtrl">
  <div>{{dt}}</div>
</div>
  </body>


编辑 :我创建了一个过滤器,它将用于将字符串转换为日期对象,并且也可以在循环中工作

var myApp = angular.module('myApp',[]);


 myApp.controller("MyCtrl", function ($scope) {
   $scope.dt = '2015-09-21 18:30:00'; 
});

myApp.filter('formatDate', function(dateFilter) {
   var formattedDate = '';
   return function(dt) {
     console.log(new Date(dt.split('-').join('/'))); 
     formattedDate = dateFilter(new Date(dt.split('-').join('/')), 'd/M/yyyy');   
     return formattedDate;
   }
     
});   
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>
<bod ng-app="myApp">

<div ng-controller="MyCtrl">
  <div>{{dt | formatDate: dt:'d/M/yyyy'}}</div>
</div>
  </body>


希望这可以帮助

关于Angularjs:如何更改日期格式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32988288/

相关文章:

java - DateTimeFormatter 不适用于 en locale 中的 LLLL 模式

php - SQL 中 strtotime 相当于什么?

javascript - 为什么输入框不在背景图片之上?

javascript - 使用 AngularJS 1.2 和 angular-animate 在 CSS Transition 上完成事件

javascript - Ng-如果不响应模型更改

sql-server-2008 - 如何在 SELECT 查询 SQL Server 2008 R2 中获取特定的日期格式 ('dd-MMM-yyyy'

mysql 报告 : count unique login per day

java - 这是 Java DateFormat 错误吗?

angularjs - 对 CSS 选择器触发 Controller 感到困惑

javascript - 带有 UI 路由和主详细信息的 AngularJS