AngulaJs控制器上的日期格式

时间:2016-07-09 07:35:01

标签: javascript angularjs

我有这个代码,它在html部分返回一个不错的日期格式,但我需要在JavaScript"控制器"中返回相同的格式。一部分。

function Ctrl($scope)
{
$scope.date = new Date();

}

视图:

<div ng-app ng-controller="Ctrl">
{{date | date:'yyyy-MM-dd HH:mm:ss'}}

</div>

返回:2016-07-09 00:14:09

所以我想在console.log();中返回相同的格式 任何帮助将不胜感激。

2 个答案:

答案 0 :(得分:1)

尝试在此类控制器中使用$filter服务。你应该在控制器中注入$filter服务。

  app.controller("Ctrl",function ($scope, $filter){
  });
语法控制器中的

  function Ctrl($scope, $filter)
   {
     $scope.date = new Date();
   }

 var date  = $filter('date')(new Date(input), 'yyyy-MM-dd HH:mm:ss');

&#13;
&#13;
// Code goes here

var app=angular.module('app',[])


app.controller("Ctrl",function($scope,$filter){
  
   $scope.date = new Date();
  var date  = $filter('date')($scope.date, 'yyyy-MM-dd HH:mm:ss');
  
  console.log(date);
});
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>
<div ng-app="app" ng-controller=" Ctrl">
 {{date | date:'yyyy-MM-dd HH:mm:ss'}}

</div>
&#13;
&#13;
&#13;

答案 1 :(得分:1)

当您尝试在java脚本代码中使用ng-filter时,您需要在控制器中定义它,以便控制器能够检测到它。

例如

$mail = JFactory::getMailer();
$mail->isHTML(true);
$mail->CharSet = "text/html; charset=UTF-8;";
$mail->addRecipient($email_to);
$mail->addReplyTo($email, $name);
$mail->setSender(array($mailfrom, $fromname));
$mail->setSubject($subject);
$mail->setBody($body);
$sent = $mail->Send();

这里$ scope和$ filter都是我们将在控制器中使用的依赖项。 之后,我们可以在JS控制器内置任何内置或自定义的ng-filter。 您可以更喜欢此链接以获取更多详细信息https://docs.angularjs.org/api/ng/filter/filter