Datepicker 使用格式 ''$filter('date')($scope.dt.datetime, 'd MMM, yyyy');' 时显示今天的日期该怎么办?使用 Angular js 日期

Posted

技术标签:

【中文标题】Datepicker 使用格式 \'\'$filter(\'date\')($scope.dt.datetime, \'d MMM, yyyy\');\' 时显示今天的日期该怎么办?使用 Angular js 日期选择器【英文标题】:Datepicker shows today's date when using format ''$filter('date')($scope.dt.datetime, 'd MMM, yyyy');' what to do? using angular js datepickerDatepicker 使用格式 ''$filter('date')($scope.dt.datetime, 'd MMM, yyyy');' 时显示今天的日期该怎么办?使用 Angular js 日期选择器 【发布时间】:2019-10-21 00:25:53 【问题描述】:

我希望日期选择器以15 Jun, 2019 的格式显示选定的日期,但它不会突出显示今天的日期,而不是选定的日期。但当使用2019-06-15 格式时,它会显示实际选择的日期。

我正在使用来自this link的angularjs date-picker

<input ng-show="toggleMe" type="text" readonly placeholder="Deadline"
       class="date-picker" ng-datetime-picker="datePickerOptions"
       ng-model="deadlineTask" ng-change="changeCurrentTime()" />

// 在 ng-model 中想要在此处显示截止日期任务格式我该怎么做我以“截止日期任务类型格式显示格式,它突出显示选定的日期而不是今天的日期”

angular.module('demo', ['ngDatetimePicker'])
.controller('datePickerCtrl',function($scope,$filter) 
    $scope.dt = ;
    var currentTime = new Date();
    var year = currentTime.getFullYear();
    var month = currentTime.getMonth() + 1;
    var date = currentTime.getDate();

    console.log(currentTime);
    $scope.dt.datetime = '2019-06-15';     //showing correct date in this format

    $scope.deadlineTask = $filter('date')($scope.dt.datetime, 'd MMM, yyyy');

//以这种格式显示今天的日期这是我想要的格式,但不突出显示所选日期而不是显示今天的日期

【问题讨论】:

ng-datetime-picker 指令不是核心 AngularJS 指令。你写了吗?还是第三方库? 【参考方案1】:

您希望日期选择器始终使用您定义的日期格式?

根据文档,您选择的日期选择器似乎无法显示格式“2019 年 6 月 15 日”。如果是这样的话,也许看看另一个 AngularJs 日期时间选择器,例如 one

为了测试它,我从您的 html 中看到您应该在 $scope 上有一个名为 datePickerOptions 的对象?

如果是这种情况,请在 datePickerOptions 对象中定义一个名为 dateFormat 的属性并给它一个字符串值,例如'MM, YYYY'

Here 你可以看到他们是这样定义输入字段的日期格式的:

以下是列出的格式选项:

YYYY:年份,4 位数字 YY:年,2 位数 MM:月,01-12 M:月,1-12 DD:天,01-31 D:天,1-31 HH:小时使用 12 小时制 01-12 H:小时使用 12 小时制 1-12 hh:小时使用 24 小时制 00-23 h:小时使用 24 小时制 0-23 mm:分,00-59> m:分钟,0-59 tt:上午/下午 TT:上午/下午

【讨论】:

改变简单的日期选择器不突出显示选定的日期,而是显示最后修改日期例如:如果我选择另一个日期(例如 20/10 /2019) 保存在数据库中,它将继续突出显示 2019 年 6 月 10 日【参考方案2】:
    <input ng-show="toggleMe" type="text" readonly placeholder="Deadline" class="date-picker" ng-datetime-picker="datePickerOptions" ng-model="dt.datetime" ng-change="changeCurrentTime()" />








 <script>
    angular.module('demo', ['ngDatetimePicker']).
    controller('datePickerCtrl', function($scope,$filter) 
    $scope.dt = ;
    var currentTime = new Date();
    var year = currentTime.getFullYear();
    var month = currentTime.getMonth() + 1;
    var date = currentTime.getDate();
    currentTime = year + "-" + month + "-" +"29"+ " 9:00";
    $scope.dt.datetime = '2019-06-15';
    $scope.deadlineTask = $filter('date')($scope.dt.datetime, 'd MMM, yyyy');
    $scope.toggleMe = false;

    $scope.datePickerOptions = 
    "closeOnSelected": true,
    "firstDayOfWeek": 1,
    "dateOnly": true
    ;

    $scope.datetimePickerOptions = 
    "closeOnSelected": true,
    "firstDayOfWeek": 1
    ;

    );

【讨论】:

您应该编辑您的问题并将其放在那里,而不是作为答案。

以上是关于Datepicker 使用格式 ''$filter('date')($scope.dt.datetime, 'd MMM, yyyy');' 时显示今天的日期该怎么办?使用 Angular js 日期的主要内容,如果未能解决你的问题,请参考以下文章

结合 django-filter DateTimeFromToRangeFilter 和 DateTimeInput(datepicker)

md-datepicker 日期过滤器:将对象从 HTML 发送到 md-date-filter 函数

检查datepicker是否已打开

在 beforeShowDay 函数中更改 datepicker 日期格式

Angular Datepicker更改日期格式

在运行时更改系统日期格式时更新 DatePicker 中的日期格式