2016-04-28 6 views
1

Ich bin neu in AngularJS und ich habe seltsames Problem bei der Verwendung von Kalender in angular JS. Wann immer ich ein Datum im Kalender auswähle, wird es 1 Tag vorher angezeigt. Zum Beispiel Wenn ich wähle: 3/2/2016 {M/D/Y), wählt es 3/1/2016.AngularJS Kalender wählt 1 Tag vor dem ausgewählten Datum

Ich habe versucht, mehrere Lösungen: Why does angularjs bootstrap datepicker pick one day before?

Angular-UI One day is subtracted from date in ui-date

https://github.com/angular-ui/bootstrap/issues/2628

Aber keiner von oben löst das Problem. Hat jemand eine Lösung?

Hier ist mein Code:

scpApp.controller('InitiativeDetailCtrl', function ($scope, $element, $initiatives, $stateParams, $timeout, $location) { 

$scope.datepickerOptions = { 
    format: 'yyyy-mm-dd', 
    language: 'en', 
    startDate: "2000-10-01", 
    endDate: "2030-10-31", 
    autoclose: true, 
    weekStart: 1 
} 

<input type="text" ng-option="datepickerOptions" ng-datepicker ng-model="initiative.end_date"> 

Wenn ich ng-Option-Tag von Eingabesteuerung entfernen. Es wählt das korrekte Datum aus, aber der Kalender wird nach der Datumsauswahl nicht geschlossen.

Bitte nicht als doppelt markieren. Ich habe alle vorherigen Fragen gelesen, aber sie sind nicht in der Lage, das Problem zu lösen.

+0

Könnten Sie einen plunkr zur Verfügung stellen? –

Antwort

0

Versuchen Bootstrap picker mit

Fügen Sie diese Links in index.html

<link href="http://eternicode.github.io/bootstrap-datepicker/bootstrap-datepicker/css/datepicker3.css" rel="stylesheet"> 
<script src="http://eternicode.github.io/bootstrap-datepicker/bootstrap-datepicker/js/bootstrap-datepicker.js"></script> 

Html:

<input id="date-picker-1" type="text" class="date-picker form-control" name="dol" ng-model="emp.DOL" ng-init="emp.DOL = ''" placeholder="mm/dd/yyyy" /> 
<label for="date-picker-1" class="input-group-addon btn"> 
<span class="glyphicon glyphicon-calendar"></span> 
</label> 

Controller:

$(".date-picker").datepicker(); 
+0

Löst dies das Problem? –

+0

Ja ich konfrontiert das gleiche Problem zunächst und dann versuchte dies. Es funktioniert :). – JanviM

+0

Hallo JanviM dies zeigt das korrekte Datum, aber das Problem ist, dass es kein Datum in der Datenbank speichert. –

0

Dies ist eine Zeitzone Problem. Ein Datum ohne Zeitangabe wird oft zu Beginn des Tages als Mitternacht angenommen. Wenn dies dann in eine spätere Zeitzone (z. B. UTC -> EST) konvertiert wird, sieht es wie der Abend des Vortages aus.

+0

Ich wusste dies jeden Kommentar/Vorschlag, um das zu lösen? –

+0

https://github.com/angular-ui/bootstrap/issues/4837#issuecomment-203284205 – AutomatedMike

0

Ich habe gelöst Werte nicht lösen Problem durch diese: (Controller Code)

$(".date-picker").datepicker({ 
     format: "mm-dd-yyyy", 
     autoclose: "true" 
    }); 
    $(".date-picker").on("change", function() { 
     $scope.initiative.start_date = $(".date-picker").val(); 
     alert("selected date is " + $scope.initiative.start_date); 

    }); 

Mehr Info: how to bind Bootstrap-datepicker element with angularjs ng-model?

Verwandte Themen