2016-04-03 27 views
0

ng-model denetleyiciden tarih değerleri alıyorum. Tarihi 10-22-2013 olarak biçimlendirmek istiyorum Ama çıktının tarih biçimini olarak aldığım tarih burada biçimlendirmenin doğru yolu nedir?Tarih nesnesindeki tarih nesnesinden biçimlendirme biçimi nasıl kullanılır?

js:

angular.module('dateInputExample', []) 
    .controller('DateController', ['$scope', function($scope) { 
     $scope.example = { 
     value: new Date(2013, 9, 22) 
     }; 
    }]); 

html:

<form name="myForm" ng-controller="DateController as dateCtrl"> 
    <label for="exampleInput">Pick a date </label> 
    <input type="date" id="exampleInput" name="input" ng-model="example.value" 
     placeholder="yyyy-MM-dd" min="2013-01-01" max="2013-12-31" required /> 
    <div role="alert"> 
    <span class="error" ng-show="myForm.input.$error.required"> 
     Required!</span> 
    <span class="error" ng-show="myForm.input.$error.date"> 
     Not a valid date!</span> 
    </div> 

</form> 

Live Demo

+0

Punker olarak metin kutusuna değer 10-22-2013' 'olarak görünüyorsa:

<p class="form-group"> <label>Result</label> <input type="text" class="form-control" uib-datepicker-popup="{{format}}" ng-model="date" /> </p> 

Ve denetleyici üzerinde

. 10/22/2013' değil. Olmasını istediğin bu değil mi? – Roy

+0

Evet roy. başka bir cevabınız varsa lütfen buraya gönderin – user2024080

cevap

2

kullanılması, tamamen HTML5 Sorunuzun yanıtı yoktur. Bu link'a bakın.

Biz tel formatı ve tarayıcının sunum biçimi üzerinde ayırt etmek zorunda biçimi

değiştirmek mümkün yolu yoktur. yyyy-aa-aa: HTML5 tarihi giriş özelliği 1 için eşit bir tam tarih biçimini belirtir RFC3339 tarifnamede 2 değinmektedir

tel biçiminde. Daha fazla ayrıntıları için RFC3339 belirtiminin 5.6 bölümüne bakın.

Sunum formatı Tarayıcılar, tarih girişini nasıl sundukları konusunda sınırsızdır. Yazı yazıldığı sırada Chrome en kapsamlı desteğine sahip [3]. Kullanıcının yerel takvimi biçimini kullanarak bir tarih seçici görüntüler. Opera (v10.6 +) ayrıca bir tarih seçici görüntüler, ancak tarihini tel biçiminde gösterir. Firefox 44.0.2 ve Internet Explorer 9/10/11 gibi diğer tarayıcılar, biçimindeki tel ile bir metin giriş alanı görüntüler. Ben angular-ui kullanmanızı öneririz

Kaynaklar http://tools.ietf.org/html/rfc3339 https://plus.google.com/102860501900098846931/posts/hTcMLVNKnec

http://www.w3.org/TR/html-markup/input.date.html. Açısal için her şeyi kolaylaştıran düzgün bir modül yüküne sahiptir.

görünümde biçimlendirme şu şekilde görünecektir:

angular.module('ui.bootstrap.demo').controller('DateParserDemoCtrl', function ($scope, uibDateParser) { 
    $scope.format = 'MM-dd-yyyy'; 
    $scope.date = new Date(); 
});