如何更改 angular ui-bootstrap 日期选择器的格式
How to change format of angular ui-bootstrap datepicker
我正在使用 1.1.5 版本的 Angularjs 和 0.6.0 版本的 Angular UI-bootstrap。我需要以这种 yyyy-MM-dd 格式传递选定的日期,但我得到的是 "Tue Feb 03 2015 00:00:00 GMT+0530 (IST)" 格式。我尝试过应用过滤器,但这只会改变 {{dt}} 值而不是 ng-modal 值,因此在控制器中我得到了 2015 年 2 月 3 日星期二 00:00:00 GMT+0530 (IST) 格式。
我搜索了类似的问题并尝试了答案中的解决方案,但我还没有运气。这是我的代码。
HTML代码:
<div class="row">
<div class="">
<p class="input-group">
<input type="text" class="form-control" datepicker-popup="yyyy-MM-dd" ng-model="dt.date" is-open="opened" />
<span class="input-group-btn">
<button type="button" class="btn btn-default" ng-click="opencal($event)"><i class="fa fa-calendar"></i></button>
</span>
<span class="btn btn-xs btn-success input-group-addon" id="check_availability" ng-click="check_availability(dt.date)"><i class="fa fa-search"></i></span>
<span class="btn btn-xs btn-warning input-group-addon" id="basic-addon2" ng-click="reset_halls()"><i class="fa fa-close"></i></span>
</p>
</div>Selected date {{dt.date}}
</div>
JS代码
app1.controller('HomeCtrl', function( $scope,$http,$q,$location,$window,$routeParams,$modal, $log) {
$scope.opencal = function($event) {
$event.preventDefault();
$event.stopPropagation();
$scope.opened = true;
};
$scope.check_availability=function(dt){
alert("here I am getting date like this Tue Feb 03 2015 00:00:00 GMT+0530 (IST)"+dt);
return $http({
url: 'home/check_avail/'+dt,
method: "POST"
}).success(function(addData) {
$scope.hallinfo={};
$scope.hallinfo = addData;
});
}
})
这里我为大家制作了plunker
您可以在控制器中尝试这样的操作:
alert("Here I want date in yyyy-MM-dd format\n" + $filter("date")(sdate, "yyyy-MM-dd"));
并且您应该向函数添加一个 $filter
参数:
app1.controller('HomeCtrl', function($scope, $http, $q, $location, $window, $modal, $log, $filter) { ...
我正在使用 1.1.5 版本的 Angularjs 和 0.6.0 版本的 Angular UI-bootstrap。我需要以这种 yyyy-MM-dd 格式传递选定的日期,但我得到的是 "Tue Feb 03 2015 00:00:00 GMT+0530 (IST)" 格式。我尝试过应用过滤器,但这只会改变 {{dt}} 值而不是 ng-modal 值,因此在控制器中我得到了 2015 年 2 月 3 日星期二 00:00:00 GMT+0530 (IST) 格式。
我搜索了类似的问题并尝试了答案中的解决方案,但我还没有运气。这是我的代码。
HTML代码:
<div class="row">
<div class="">
<p class="input-group">
<input type="text" class="form-control" datepicker-popup="yyyy-MM-dd" ng-model="dt.date" is-open="opened" />
<span class="input-group-btn">
<button type="button" class="btn btn-default" ng-click="opencal($event)"><i class="fa fa-calendar"></i></button>
</span>
<span class="btn btn-xs btn-success input-group-addon" id="check_availability" ng-click="check_availability(dt.date)"><i class="fa fa-search"></i></span>
<span class="btn btn-xs btn-warning input-group-addon" id="basic-addon2" ng-click="reset_halls()"><i class="fa fa-close"></i></span>
</p>
</div>Selected date {{dt.date}}
</div>
JS代码
app1.controller('HomeCtrl', function( $scope,$http,$q,$location,$window,$routeParams,$modal, $log) {
$scope.opencal = function($event) {
$event.preventDefault();
$event.stopPropagation();
$scope.opened = true;
};
$scope.check_availability=function(dt){
alert("here I am getting date like this Tue Feb 03 2015 00:00:00 GMT+0530 (IST)"+dt);
return $http({
url: 'home/check_avail/'+dt,
method: "POST"
}).success(function(addData) {
$scope.hallinfo={};
$scope.hallinfo = addData;
});
}
})
这里我为大家制作了plunker
您可以在控制器中尝试这样的操作:
alert("Here I want date in yyyy-MM-dd format\n" + $filter("date")(sdate, "yyyy-MM-dd"));
并且您应该向函数添加一个 $filter
参数:
app1.controller('HomeCtrl', function($scope, $http, $q, $location, $window, $modal, $log, $filter) { ...