2016-04-26 17 views
0

Ich verwende eckige Datumsauswahl. Wenn der Benutzer ein Datum auswählt, möchte ich die Ergebnisse filtern.So konvertieren Sie das Datumsformat in eckigen Bootstrap-Datumsauswahl

Ich habe ng-change zur Datumsauswahl hinzugefügt und erkennt eine Änderung und übergibt den Datumswert. Aber das Format ist nicht korrekt.

<uib-datepicker ng-model="dt" ng-change="dateSelected('{{dt}}')" class="well well-sm" datepicker-options="options"></uib-datepicker> 

-Controller

$scope.dateSelected = function(passedDate){ 
    console.log('Date Selected ' + passedDate); 
} 

Dies gibt

2016-04-26T12:18:56.794Z 

Wie kann ich es

18 March, 2016 

oder etwas ähnliches zu

konvertieren.

Ich habe ein paar Optionen durch Aktualisieren von $ scope.options basierend auf der Dokumentation versucht, aber nichts funktioniert.

Antwort

1

Try this:

Die html sollte so sein, das Sie nicht {{}} innerhalb ng brauchen -change

<uib-datepicker ng-model="dt" ng-change="dateSelected(dt)" class="well well-sm" datepicker-options="options"></uib-datepicker> 

var monthArray = ["January", "February", "March", "April",....]; 

Und JS shou ld sein wie

console.log($scope.dt.getDate()+', '+monthArray[$scope.dt.getMonth()]+', '+$scope.dt.getFullYear()); 
+0

das funktioniert nicht, wenn ich newDate durch passedDate ersetzen, gibt es einen Fehler passedDate.getMonth ist keine Funktion –

+0

bearbeitet meine Antwort versuchen, $ scope.dt zu verwenden. GetMonth anstelle von passedDate.getMonth –

+0

ja, es hat jetzt funktioniert, Danke –

0

Datumsauswahl in html

<div class="input-group ui-datepicker"> 
           <input type="text" 
             class="form-control date" 
             datepicker-popup="{{format}}" 
             ng-model="dt" 
             is-open="opened" 
             min-date="minDate" 
             max="'2015-06-22'" 
             ng-readonly="true" 
             datepicker-options="dateOptions" 
             date-disabled="disabled(date, mode)" 
             ng-required="true" 
             close-text="Close" style="cursor:auto;"> 
           <span class="input-group-addon" ng-click="open($event)"><i class="fa fa-calendar"></i></span> 
          </div> 

Legen Sie ein Format wie:

$scope.formats = ['dd-MMMM-yyyy', 'yyyy/MM/dd', 'dd.MM.yyyy', 'shortDate']; 
    $scope.format = $scope.formats[0]; 

$scope.dateOptions = { 
     formatYear: 'yy', 
     startingDay: 1 
    }; 
+0

HTML wie das ist -

+0

Unabhängig vom HTML ist das Datumsformat ähnlich, wie man es benutzt. Sie haben das gleiche Modell und die Methode, um das Format zu ändern – Sajal

Verwandte Themen