2016-05-12 4 views
0

jquery datepickerを使用してカレンダーを生成するdatepickerディレクティブを作成しました。日付を選択した後にデータを表示する方法を設定できます。私はデータベースに格納されているいくつかの日付があります。 私の要件は、モデルデータを表示して変更したくない場合にのみ、特定の形式で日付をロードすることです。anglejsの日付の書式設定と表示

私はこの私のフィルタ

myUploadApp.filter('cmdate', ['$filter', function ($filter) { 
     return function (input, format) {    
      if (input) { 
      return $filter('date')(new Date(Date.parse(input)), format); 
      } else { 
      return null; 
     } 
     }; 
    }]); 

されており、このフィルタを呼び出すために、「cmdate:D-D 『MMMのYYYY』を」テキストの書式を設定するためのフィルタを作成したが、それは多くの場合、「ナン未定義のNaN」を返す

これが追加されました。私の入力日付フォーマットはこの "23/04/2016"のようになります。

答えて

0

あなたがチェックアウトmoment.js必要があります - 私はこのような日付を回すためにそれを使用http://momentjs.com/

fromNow "10時間に" のような言葉に "2016-05-12T14:00.346Z:00" .filter.js

myapp.filter('fromNow', [, function() { 
     return function (date) { 
      return moment(date).fromNow(); 
     } 
    }; 
}]); 

は、それはあなたが

0

が必要なフォーマッタを持っているかどうかをチェックしてくださいは文字列形式MM/dd/yyyyを受け入れ、あなたの入力はdd/MM/yyyyと好きなので、うまくいきません。

この形式を使用する場合は、parseより前の形式を修正する必要があります。

.filter('cmdate', ['$filter', function ($filter) { 
    return function (input, format) { 

     //swap month and date first 
     input = input.split('/'); 
     input[0] = input.splice(1, 1, input[0])[0]; 
     input = input.join('/'); 

     var date = new Date(Date.parse(input)); 
     if (input) { 
      return $filter('date')(new Date(Date.parse(input)), format); 
     } else { 
      return null; 
     } 
    }; 
}])