Angular2如何使用管道改变年龄

时间:2017-04-06 16:30:08

标签: angular pipe

我想创建一个可以将年份(1992年)转换为年龄(26岁)(韩国年龄)的管道

我想我应该加载当前年份(2017年),减去1992年并加上+1

但我不知道如何用管道来实现这一点。

我提前感谢您的帮助。

1 个答案:

答案 0 :(得分:9)

  

块引用

以下是我使用moment.js的示例(它还显示了几年的月份,随时删除它):

import { Pipe, PipeTransform } from '@angular/core';
import * as moment from 'moment';
@Pipe({
    name: 'age'
})
export class AgePipe implements PipeTransform {

    transform(value: Date): string {
        let today = moment();
                let birthdate = moment(value);
                let years = today.diff(birthdate, 'years');
                let html:string = years + " yr ";

                html += today.subtract(years, 'years').diff(birthdate, 'months') + " mo";

        return html;
    }

}

然后在HTML中使用此管道:{{person.birthday|age}},其中person.birthday是Javascript Date对象。