2016-12-06 83 views
0

我試圖簡單地在Angular應用程序中顯示今天的日期,但它只顯示默認值,不管它是什麼。我用javascript獲取日期:瞭解Angular |日期過濾器

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

所以dateNum在控制檯中是2112016。

角部位:

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的。我究竟做錯了什麼?

+0

使用'date'變量,而不是' dateInfo' in HTML –

+0

what ...'dateInfo'是他變量的名字,沒關係 –

+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> 
+0

這是正確的答案,接受一點。 – Sergi

+0

很高興幫助:) – superUser