首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >是否设置日期筛选器的所有引用都要使用的AngularJS日期筛选器格式?

是否设置日期筛选器的所有引用都要使用的AngularJS日期筛选器格式?
EN

Stack Overflow用户
提问于 2013-08-23 03:24:25
回答 4查看 27.9K关注 0票数 20

而不是必须为每个对date过滤器的调用定义一个自定义格式,有没有一种方法可以全局定义默认格式('medium'除外)?

我希望在一个文件中设置格式,而不是在我的代码中到处设置(日期格式可能最终会在未来被更改,在一个文件中进行修改将比在许多文件中进行更改要好得多)。

这就是我现在要做的(每次定义日期格式):

代码语言:javascript
复制
{{systemTime | date:'dd MMMM @ HH:mm:ss'}}
{{modifiedTime | date:'dd MMMM @ HH:mm:ss'}}
{{getShippedTime() | date:'dd MMMM @ HH:mm:ss'}}
   etc.

我正在考虑创建一个自定义过滤器(让我们称之为myDate),它将充当一个包装器,然后将日期字符串传递给具有我的自定义格式的Angular date过滤器,这样我的代码就可以如下所示:

代码语言:javascript
复制
{{systemTime | myDate}}
{{modifiedTime | myDate}}
{{getShippedTime() | myDate}}
   etc.

但是,我不知道如何让myDate滤镜指向角度date滤镜。

谢谢你的帮助。

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2013-08-23 20:16:10

基于更多的研究,然后考虑现代度的评论,我发现以下myDate过滤器可以工作:

代码语言:javascript
复制
.filter('myDate', function($filter) {    
    var angularDateFilter = $filter('date');
    return function(theDate) {
       return angularDateFilter(theDate, 'dd MMMM @ HH:mm:ss');
    }
});
票数 41
EN

Stack Overflow用户

发布于 2014-04-08 18:01:37

尝尝这个

代码语言:javascript
复制
angular.module('yourmodule').filter('myDate', function($filter)
{
    return function(input)
    {
        if(input == null){ return ""; }
        var _date = $filter('date')(new Date(input), 'dd MMMM @ HH:mm:ss');
        return _date.toUpperCase();
    };
});

Html

代码语言:javascript
复制
{{systemTime | myDate}}

Date filtering and formatting in Angular js.

票数 6
EN

Stack Overflow用户

发布于 2016-03-07 23:53:16

使用一个装饰物,

这不是您明确要求的,请使用decorator。它内置在angular中,设计用于修补servicesdirectivesfilters等。

在您的示例中,如果未提供日期筛选器,则应使用自定义日期格式。

代码语言:javascript
复制
app.config(function ($provide) {
    $provide.decorator('dateFilter', function ($delegate) {
        return function () {

            // Check if the date format argument is not provided
            if (!arguments[1]) { 
                arguments[1] = 'dd MMMM @ HH:mm:ss';
            }

            var value = $delegate.apply(null, arguments);
            return value;
        };
    })
});
票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18389168

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档