如何在服务和指令脚本文件中使用angular2内置日期管道

时间:2016-12-22 09:47:01

标签: angular angularjs-directive angular-services date-pipe

我需要在服务和指令脚本文件中使用angular2的日期管道(不仅仅是HTML)。

有没有人有想法?

无法通过某些政策限制上传代码,对不起。

2 个答案:

答案 0 :(得分:49)

由于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());
}

答案 1 :(得分:13)

尝试这样的事情:

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

希望这会有所帮助。