Angular2プロジェクト内にmoment.jsライブラリを実装したいのですが、UTC
時間を特定のタイムゾーンEurope/london
に変換し、moment
と[moment timezone]
を使用するようにします。 1
これまでのところ、Angular2プロジェクトに次のコマンドを使用してmoment.js
をインストールしました。
npm install moment --save
これが私の現在のコードです:
import { Component, Pipe, PipeTransform } from '@angular/core';
import * as moment from 'moment';
@Pipe({ name: 'moment' })
class MomentPipe{
transform(date, format) {
return moment(date).format(format);
}
}
HTML:
バックエンドから時間をオブジェクトとして受け取った
//time.bookingTime.iso == 2016-07-20T21:00:00.000Z
{{time.bookingTime.iso | moment}}
それは私にはうまくいきませんでした、そして私は間違った実装をしていると思います
これを使用する必要がある場合は、@ componentで指定する必要があります。
@Component({
moduleId: module.id,
templateUrl: './xyz.component.html',
styleUrls: ['./xyz.component.css'],
pipes: [MomentPipe],
directives: [...]
})
public export ...
次のようにhtmlで使用します。
{{now | momentPipe:'YYYY-MM-DD'}}
ところで、これはパイプを書く私の方法です:
import {Pipe, PipeTransform} from '@angular/core';
import * as moment from 'moment';
@Pipe({
name: 'momentPipe'
})
export class MomentPipe implements PipeTransform {
transform(value: Date|moment.Moment, ...args: any[]): any {
let [format] = args;
return moment(value).format(format);
}
}
更新:2018年6月
[〜#〜] pipes [〜#〜] に関する公式ドキュメント=
Moment in TypeScript および Moment Date Formats について学習します。
ここの質問に基づいて以下に示す例! PIPE
テクニックを使用すると、Angular View(Date Formatting))でモーメントを使用できます。
MomentPipe.ts
import { Pipe, PipeTransform } from '@angular/core';
import * as moment from 'moment';
@Pipe({ name: 'dateFormat' })
export class MomentPipe implements PipeTransform {
transform(value: Date | moment.Moment, dateFormat: string): any {
return moment(value).format(dateFormat);
}
}
AppModuleの宣言配列にパイプを含める必要があります。
import { NgModule } from '@angular/core';
import { AppComponent } from './app.component';
import { MomentPipe } from './momentPipe';
@NgModule({
imports: [
// Your Modules
],
declarations: [
AppComponent,
// Your Components
MomentPipe
],
providers: [
// Your Providers
]
})
export class AppModule { }
以下のようにビュー/ HTMLで使用します。、
{{ createdDate | dateFormat: 'MMMM Do YYYY, h:mm:ss a'}}
お役に立てれば。、
以下をお試しください
export class MomentPipe implements PipeTransform {
transform(date, format) {
return moment(date).format(format);
}
}