2016-04-28 110 views
1

我是AngularJS的新手,在角JS中使用日曆時出現奇怪的問題。每當我選擇日曆中的任何日期時,它會在前一天顯示。 例如如果我選擇:3/2/2016 {M/D/Y),則選擇3/1/2016。AngularJS日曆選擇前一天選擇

我已經嘗試了多種解決方案: 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

但上面這些都不是解決問題。任何人都有解決方案?

這裏是我的代碼:

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"> 

如果我從輸入控制刪除NG選項標籤。它會選擇正確的日期,但日曆選擇後日歷不會關閉。

請不要標記爲重複。我已閱讀所有以前的問題,但他們無法解決問題。

+0

你能提供一個plunkr? –

回答

0

嘗試使用引導日期選擇器

包括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> 

控制器:

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

這是否解決了這個問題? –

+0

是的,我最初面對同樣的問題,然後嘗試this.It工程:)。 – JanviM

+0

嗨JanviM這是顯示正確的日期,但問題是它沒有將數據保存到數據庫。 –

0

這是一個時區的問題。沒有時間的日期通常被認爲是一天的午夜。如果之後將其轉換爲較晚的時區(例如UTC - > EST),則看起來像前一天的晚上。

+0

我知道這個有什麼意見/建議來解決這個問題嗎? –

+0

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

0

我已經解決了值不受此解決問題:(控制器代碼)

$(".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); 

    }); 

更多信息:how to bind Bootstrap-datepicker element with angularjs ng-model?