2017-11-24 16 views
1

私はこのような日付フォーマットを持っています/Date(1495623815523)/。これは通常の入力フィールドでdd-MM-yyフォーマットでバインドできますか?入力フィールドに日付をバインドする

var app=angular 
 
    .module('plunker', []) 
 
    .controller('MainCtrl', function($scope,$filter) { 
 
    $scope.dateString = '/Date(1495623815523)/'; 
 
    $scope.formattedDate = $filter('jsonDate')($scope.dateString); 
 
    }) 
 
app.filter('jsonDate', function() {  
 
    return function (date) { 
 
     return new Date(date.match(/\d+/)[0] * 1); 
 
    } 
 
})
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script> 
 
<section ng-app="plunker" ng-controller="MainCtrl"> 
 
    
 
    <form name="myForm"> 
 
    <label for="exampleInput">Date input</label> 
 
    
 
    <input 
 
     type="date" 
 
     ng-model="dateString" 
 
    /><br> 
 
    //its working for label<br> 
 

 
    <label>{{dateString | jsonDate | date:'dd-MM-yyyy'}}</label> 
 
    </form> 
 
    
 
</section>

答えて

2

を動作するはずです入力タイプ「日付」を使用します。デフォルトでは

var app=angular 
 
    .module('plunker', []) 
 
    .controller('MainCtrl', function($scope,$filter) { 
 
    $scope.dateString = '/Date(1495623815523)/'; 
 
    $scope.formattedDate = $filter('jsonDate')($scope.dateString); 
 
    $scope.dateStringFormatted =$filter('date')($scope.formattedDate, "yyyy-MM-dd"); 
 
    console.log($scope.dateStringFormatted); 
 
    }) 
 
app.filter('jsonDate', function() {  
 
    return function (date) { 
 
     return new Date(date.match(/\d+/)[0] * 1); 
 
    } 
 
})
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script> 
 
<section ng-app="plunker" ng-controller="MainCtrl"> 
 
    
 
    <form name="myForm"> 
 
    <label for="exampleInput">Date input</label> 
 
    
 
    <input 
 
     type="date" 
 
     ng-model="dateStringFormatted" 
 
    /><br> 
 
    //its working for label<br> 
 

 
    <label>{{dateStringFormatted | date:'dd-MM-yyyy'}}</label> 
 
    </form> 
 
    
 
</section>

0

これは、あなたがいるので、あなたは、あなたのNG-モデルの値が適切な形式で日付オブジェクトに変換する必要があり

var app=angular 
 
    .module('plunker', []) 
 
    .controller('MainCtrl', function($scope,$filter) { 
 
    $scope.dateString = new Date(1495623815523); 
 
    $scope.formattedDate = $filter("date")($scope.dateString, 'dd-MM-yyyy'); 
 
    }) 
 
app.filter('jsonDate', function() {  
 
    return function (date) { 
 
     return new Date(date.match(/\d+/)[0] * 1); 
 
    } 
 
})
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script> 
 
<section ng-app="plunker" ng-controller="MainCtrl"> 
 
    
 
    <form name="myForm"> 
 
    <label for="exampleInput">Date input</label> 
 
    
 
    <input 
 
     type="date" 
 
     ng-model="dateString" 
 
    /><br> 
 
    //its working for label<br> 
 

 
    <label>{{dateString | date:'dd-MM-yyyy'}}</label> 
 
    </form> 
 
    
 
</section>

+0

私は、日付フィールドに 'dateString'を示さなければなりません。 – krish

関連する問題