2015-08-21 108 views
0

我在我的HTML的输入型日期(我与angularjs工作)
我用这样的:AngularJS:日期格式输入

< input ng-model="voyage.dateRetour" type="date"> 
{{voyage.dateRetour}} 

我创建了一个PDF文件使用jsPDF我用输入形成完整的PDF格式,所以我所做的:

 $scope.createPDFs= function (filename) { 
    var doc = new jsPDF(); 
    doc.text(13, 95, 'Retour : '+$scope.voyage.dateRetour); 

,这让我:周五2015年8月21日00:00:00 GMT + 0200(巴黎,马德里(厄尔D'ETE))

我不知道如何将格式更改为DD-MM-YYYY等短格式。

我试图做这样一个过滤器:

$filter('date')($scope.voyage.dateRetour, "dd/MM/yyyy"); 

谢谢你的帮助。在HTML本身使用过滤器

<div ng-app ng-controller="MyCtrl">{{date | date:'dd MMM yyyy - hh:mm a'}} 
    <br />{{date}}</div> 

即:

+0

尝试更换{{voyage.dateRetour}}以{ {voyage.dateRetour | date:“dd/MM/yyyy”}} – Sabarish

+0

感谢您的回复,我需要在我的控制器中的日期在pdf中使用它与jsPDF,所以我需要在我的控制器中的过滤器而不是HTML。 – skoufandri

+0

类似的问题已经在以前的回答http://stackoverflow.com/questions/20131553/angularjs-convert-dates-in-controller – Sabarish

回答

1

试试这个。

演示:http://jsfiddle.net/Blackhole/srnug/

+0

对不起,我想我没有问我的问题,因为我刚刚测试过的html,我需要在我的控制器中使用它的日期在pdf与jsPDF,所以我需要在我的控制器不是在HTML中的过滤器。 – skoufandri

0

日期和时间第一次分裂。其次,以取代所有 “ - ” 到 “/”

< input ng-model="voyage.dateRetour" type="date"> 
{{voyage.dateRetour.split("T")[0].split("-").join("/");}} 
+0

谢谢你,但它不适用于我,就像我在评论中说的,我需要在我的控制器中使用它的日期在jsPDF pdf,所以我需要在我的控制器中的过滤器,而不是HTML。 – skoufandri

+0

好的,将代码写入控制器的括号中。它会工作,如果日期是给定的 – Asqan

1

结帐这个它会帮助你: -

function MyController($scope){ 
 
    $scope.MyObje = {mydate:new Date()} 
 
}
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.22/angular.min.js"></script> 
 

 
<div ng-app ng-controller="MyController"> 
 
    <input type="date" ng-model="MyObje.mydate"> 
 

 
    {{MyObje.mydate | date:'dd/MM/yyyy'}} 
 
</div>