我是AngularJS的新手,在角度JS中使用日历时遇到了奇怪的问题。每当我选择日历中的任何日期时,它会在1天前显示。 例如。如果我选择:2016年3月2日{M / D / Y),则选择3/1/2016。
我尝试了多种解决方案: 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-option标签。它选择了正确的日期,但日期选择后日历不会关闭。
请不要标记为重复。我已经阅读了之前的所有问题,但他们无法解决问题。
答案 0 :(得分:0)
尝试使用bootstrap datepicker
在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();
答案 1 :(得分:0)
这是一个时区问题。没有时间的日期通常被假定为在一天开始时的午夜。如果然后将其转换为更晚的时区(例如UTC - > EST),则看起来就像前一天的晚上。
答案 2 :(得分: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?