理解Angular |日期过滤器

时间:2016-12-06 10:15:49

标签: javascript angularjs date

我试图在Angular应用中只显示今天的日期,但无论如何都只会显示默认值。我用javascript获取日期:

var date = new Date();
var day = date.getDay();
var month = date.getMonth();
var year = date.getFullYear();
var dateNum = Number(day + "" + month + "" + year);

因此控制台中的dateNum为2112016。

Angular部分:

app.controller("mainCtrl", function($scope, $http) {

  $scope.dateInfo = dateNum;

...

HTML:

<body ng-app="weatherApp" ng-controller="mainCtrl">

  <div class="row main">
    <div class="col-lg-4">
      <div class="cardTokyo">

        <div class="row">
          <div class="col-xs-6">
            <p class="hour"> Placeholder
              <p>
          </div>
          <div class="col-xs-6">
            <p class="date"> {{ dateInfo | date:"MM/dd/yyyy"}}
              <p>
          </div>
        </div>
        <!--row-->

       ...

它只显示01/01/1970,即使我手动输入数字而不是dateInfo。我做错了什么?

1 个答案:

答案 0 :(得分:3)

您无需将其转换为数字,然后应用过滤器。只需创建一个日期对象,并使用您想要的任何格式对其应用过滤器:

控制器:

function MyCtrl($scope) {
  $scope.dateInfo = new Date();
}

在Html中:

<div class="col-xs-6">
   <p class="date"> {{ dateInfo | date:"MM/dd/yyyy"}}</p>
</div>