Html 如何使用角度自定义管道将秒转换为年、月、日并显示?

Html 如何使用角度自定义管道将秒转换为年、月、日并显示?,html,angular,typescript,Html,Angular,Typescript,我通过API调用获得秒(有效期),我需要在前端以年、月、日的形式显示它。。。 如何使用自定义管道或其他方式显示它 我已经创建了自定义管道,但如何返回值 export class SecondsToDaysPipe implements PipeTransform { transform(val: number): number { let totalSeconds = val; } } 预期:有效期:01年03个月03天您可以使用时刻和时刻持续时间格式库

我通过API调用获得秒(有效期),我需要在前端以年、月、日的形式显示它。。。 如何使用自定义管道或其他方式显示它

我已经创建了自定义管道,但如何返回值

 export class SecondsToDaysPipe implements PipeTransform {
    transform(val: number): number {
       let totalSeconds = val;
      }
  }

预期:有效期:01年03个月03天

您可以使用时刻和时刻持续时间格式库。 通过以下命令安装这两个库

npm install moment --save
npm install moment-duration-format --save
还可以添加类型以在角度视图中使用它

npm i @types/moment-duration-format --save
安装后,创建如下所示的管道

import { Pipe, PipeTransform } from '@angular/core';
import * as moment from 'moment';
import 'moment-duration-format';

@Pipe({
  name: 'secondToYearMonthDays'
})
export class SecondToYearMonthDaysPipe implements PipeTransform {

  transform(value: any, args?: any): any {
    return moment.duration(value, 'seconds').format('Y [years]: M [months]: D [days]');
  }

}
并在html中使用此管道

<label>{{72650000| secondToYearMonthDays}}</label>
 Output : 2 years: 3 months: 19 days
{{72650000 |第二年月日}
产出:2年:3个月:19天
您还可以通过传递带有管道名称的参数,使该管道对于不同的时间单位和显示格式更通用


您可以在此处签出支持的格式:

您好,欢迎使用SO。您需要
返回一个值才能使管道正常工作。有关更多信息,请参阅。thnx,如何返回计算后的年、月和日@罗伊