如何更改 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) { ...