20

dateフィルターへの呼び出しごとにカスタム形式を定義するのではなく、デフォルトの形式をグローバルに定義する方法はあります'medium'か?

コード全体ではなく、1 つのファイルにフォーマットを設定したいと考えています (日付フォーマットは将来変更される可能性があり、1 つのファイルを変更することは、多くのファイルを変更するよりもはるかに優れています)。 )。

これは私が今していることです(毎回日付形式を定義しています):

{{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ので、コードは次のようになります。

{{systemTime | myDate}}
{{modifiedTime | myDate}}
{{getShippedTime() | myDate}}
   etc.

myDateただし、フィルターがAngularフィルターを指すようにする方法がわかりませんdate

ご協力いただきありがとうございます。

4

5 に答える 5

41

さらにいくつかの調査に基づいて、moderndegree のコメントを検討したところ、次のmyDateフィルターが機能することがわかりました。

.filter('myDate', function($filter) {    
    var angularDateFilter = $filter('date');
    return function(theDate) {
       return angularDateFilter(theDate, 'dd MMMM @ HH:mm:ss');
    }
});
于 2013-08-23T12:16:10.287 に答える
6

これを試して

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

{{systemTime | myDate}}

Angular js での日付のフィルタリングと書式設定。

于 2014-04-08T10:01:36.907 に答える
2

何も指定されていない場合のformatデフォルトmediumDateは です。デフォルトで他のものにするために組み込まれているものは何もありません。

https://github.com/angular/angular.js/blob/master/src/ng/filter/filters.js#L382

于 2013-08-23T00:13:08.963 に答える
0

.aspx ページで作業していて、日付形式が構成ファイルに保存されている場合...

  1. Angular ページを挿入する .aspx から、web.config 日付形式でグローバル変数を設定します

    var _settingsDateFormat = '<%=appSettings.DateFormat%>';

  2. アプリで使用するグローバル フィルターを設定する

yourModule.filter('myDateFormat', function ($filter) {
        return function (input) {
            if (input == null) { return ""; }
            var formattedDate = $filter('date')(new Date(input), _settingsDateFormat);
            return formattedDate;
        };
});
  1. カスタムフィルターを日付に追加するだけです

       Effective {{row.StartDate|myDateFormat}} - {{row.StopDate|myDateFormat}}
    
于 2015-12-11T16:35:14.077 に答える