2016-12-06 109 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