如何在角度引导日期选择器中转换日期格式

How to convert date format in angular bootstrap date picker

本文关键字:日期 选择器 转换 格式      更新时间:2023-09-26

我正在使用角度日期选择器。当用户选择日期时,我想过滤结果。

我已经将ng-change添加到日期选择器中,它正在检测更改并传递日期值。但是格式不正确。

<uib-datepicker ng-model="dt" ng-change="dateSelected('{{dt}}')" class="well well-sm" datepicker-options="options"></uib-datepicker>

控制器

 $scope.dateSelected = function(passedDate){
    console.log('Date Selected ' + passedDate);
}

这给了

2016-04-26T12:18:56.794Z

如何将其转换为

18 March, 2016

或类似的东西。

我通过根据文档更新 $scope.options 来尝试几个选项,但没有任何效果。

试试这个:

html应该是这样的,你不需要在ng-change中{{}}

<uib-datepicker ng-model="dt" ng-change="dateSelected(dt)" class="well well-sm" datepicker-options="options"></uib-datepicker>
var monthArray = ["January", "February", "March", "April",....];

JS应该像

console.log($scope.dt.getDate()+', '+monthArray[$scope.dt.getMonth()]+', '+$scope.dt.getFullYear());

html 中的日期选择器

 <div class="input-group ui-datepicker">
                                <input type="text"
                                       class="form-control date"
                                       datepicker-popup="{{format}}"
                                       ng-model="dt"
                                       is-open="opened"
                                       min-date="minDate"
                                       max="'2015-06-22'"
                                       ng-readonly="true"
                                       datepicker-options="dateOptions"
                                       date-disabled="disabled(date, mode)"
                                       ng-required="true"
                                       close-text="Close" style="cursor:auto;">
                                <span class="input-group-addon" ng-click="open($event)"><i class="fa fa-calendar"></i></span>
                            </div>

将格式设置为:

 $scope.formats = ['dd-MMMM-yyyy', 'yyyy/MM/dd', 'dd.MM.yyyy', 'shortDate'];
    $scope.format = $scope.formats[0];
 $scope.dateOptions = {
        formatYear: 'yy',
        startingDay: 1
    };