2016-06-22 15 views
0

デフォルトのasp.net JSONシリアライザの日付の処理、日付のシリアル化を行うDateパイプフィルタが組み込まれていますか?そうでなければ、私はカスタムパイプを書くことができます '/日(1466624402557)/'Angular2日付フィルタC#日付?

:ここ

はフォーマット例です。無効な引数 '1466624402557':

import {PipeTransform, Pipe} from '@angular/core'; 
import {SlicePipe, DatePipe} from '@angular/common'; 

@Pipe({ 
    name: 'aspDate' 
}) 
export class AspDatePipe implements PipeTransform { 
    transform(value: string, arg: string): any { 
     let slicedValue = new SlicePipe().transform(value, 6, -2); 
     return new DatePipe().transform(slicedValue, arg); 
    } 
} 

しかし、このエラーが取得しています:

プラットフォームbrowser.umd.jsを:962元の例外ここrinukkusuパー

は私が作成したカスタムパイプでありますパイプ「DatePipe」

のために私は、新しいDate(にスライスされた文字列をボクシングしようとしました)それは番号、私の知る限り...どちらかを

答えて

2

あなたはこれを達成するために、組み込みのパイプslicedateを活用することができます

{{ '/Date(1466624402557)/' | slice:6:-2 | date }} 

は、そうでない場合は、カスタムパイプルートのために行くん。たとえば、テンプレートで

@Pipe({ 
    name: 'aspDate' 
}) 
export class AspDatePipe implements PipeTransform { 
    transform(value: string, arg: string):any { 
     let slicedValue = new SlicePipe().transform(value, 6, -2); 
     return new DatePipe().transform(new Date(parseInt(slicedValue)), arg); 
    } 
} 

:あなたはdateパイプargumentwiseのようにそれを使用することができ、コードでパイプフィルタを連鎖のこのアプローチを示すため

{{ '/Date(1466624402557)/' | aspDate:'fullDate' }} 

Plunker for example usage

+0

おかげで、私はwouldnそれを考えていない。このエラーが発生します: platform-b​​rowser.umd.js:962 ORIGINAL EXCEPTION: 'DatePipe'パイプの無効な引数 '1466624402557' – cobolstinks

+0

どのAngular 2バージョンを使用していますか? – rinukkusu

+0

"@ angle/common": "2.0.0-rc.1"、 – cobolstinks

1

を動作しません。 API of the date pipe in Angularを参照することができますので、それを実装する必要があります自分


更新:

Changelogによると、数値、日付を追加featuresの一つです「datePipe:数値文字列のサポート」あなたが見ることができますrelated commit here

関連する問題