web-dev-qa-db-ja.com

サービスおよびディレクティブスクリプトファイルで、angular2組み込みの日付パイプを使用する方法

(HTMLだけでなく)サービスおよびディレクティブスクリプトファイルで、angular2の日付パイプを使用する必要があります。

誰にもアイデアはありますか?

いくつかのポリシー制限があるため、コードをアップロードできません。申し訳ありません。

26
Chen Dachao

CommonModuleはプロバイダーとしてエクスポートしないため、自分で行う必要があります。これはそれほど複雑ではありません。

1)DatePipeのインポート:

import { DatePipe } from '@angular/common';

2)モジュールのプロバイダーにDatePipeを含めます。

NgModule({
  providers: [DatePipe]
})
export class AppModule {
}

またはコンポーネントのプロバイダー:

@Component({
  selector: 'home',
  styleUrls: ['./home.component.css'],
  templateUrl: './home.component.html',
  providers: [DatePipe]
})
export class HomeComponent {
...

3)他のサービスと同様に、コンポーネントのコンストラクターに注入します。

constructor(private datePipe: DatePipe) {
}

4)使用する:

ngOnInit() {
    this.time = this.datePipe.transform(new Date());
}
56

次のようなものを試してください:

new DatePipe().transform(myDate, 'yyyy-dd-MM');

これが役立つことを願っています。

14
Avnesh Shakya