【问题标题】:SQL date field not showing properly in Angular.jsSQL 日期字段在 Angular.js 中未正确显示
【发布时间】:2016-12-11 22:39:02
【问题描述】:

我尝试使用 Angular JS ng-repeat 在 HTML 表中显示 MSSQL 数据。 我的日期列字段详细显示时区等:

{"date":"2016-12-11 00:00:00.000000","timezone_type":3,"timezone":"UTC"}

我只想单独显示日期。如何格式化?

<tr ng-repeat="bill in allbills | filter : search" >
    <td>{{ $index + 1 }}</td>   
    <td>{{ bill.bill_Date }}</td> 
</tr>

【问题讨论】:

标签: angularjs


【解决方案1】:

你需要使用datefilter:

{{ date_expression | date : format : timezone}}

您的&lt;td&gt; 应该如下所示,仅显示日期:

<td>{{ bill.bill_Date | date:'yyyy-MM-dd'}}</td>

编辑

您还可以编写自定义filter,因为您已经获得了正确格式的日期。检查this 使用工作代码:

HTML

<div ng-app="myApp" ng-controller="myCtrl">
  <span>{{ bill.bill_Date.date | date}}</span>
</div>

JS

angular.module('myApp', [])
  .controller('myCtrl', function($scope) {
    $scope.bill = { // from row set
      'bill_Date': {
        "date": "2016-12-11 00:00:00.000000",
        "timezone_type": 3,
        "timezone": "UTC"
      }
    };
  })
  .filter('date', function() {
    return function(input) {
      return input.split(' ')[0];
    }
  });

【讨论】:

  • 我是这样使用的{{ bill.bill_Date |日期:'yyyy-MM-dd'}}。但它仍然以完整的格式显示.. 请记住它来自 SQL Server 行集.. 它显示 {"date":"2016-12-11 00:00:00.000000","timezone_type":3,"timezone":"UTC "}
  • 要显示为 2016-12-11 吗?
  • 我添加了一个自定义过滤器,检查一下。
猜你喜欢
  • 2015-09-23
  • 1970-01-01
  • 2018-04-01
  • 2014-01-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多