如何在TypeScript中使用moment-duration格式?

pet*_*erc 10 javascript momentjs typescript angular

我在我的TypeScript(Ionic2/Angular2)项目中使用了moment.js.继这篇文章之后,我现在想尝试一个插件时刻 - 持续时间格式

我有npm包和类型定义,并能够通过导入使用..

import moment from 'moment';
...
let duration = moment.duration(decimalHours, 'hours');
Run Code Online (Sandbox Code Playgroud)

我现在想要使用时刻持续时间格式

我已经安装了via npm install moment-duration-format --save,然后通过类型定义npm i @types/moment-duration-format --save.

我可以看到两个npm模块.

与往常一样,关于如何使用这种类型定义总是有一些神秘感(包括导入的用法似乎永远不会出现在任何doco中).

我试过添加import 'moment-duration-format';,import duration from 'moment-duration-format';(moment-duration-format/index.d.ts'不是模块.)

尝试使用时出现错误,如下所示..

let dd = moment.duration.format(400.99, 'hours').format('D:HH:mm');

// (TS error [ts] Property 'format' does not exist on type '(inp?: DurationInputArg1, unit?: DurationConstructor) => Duration'.
Run Code Online (Sandbox Code Playgroud)

有没有人知道如何在TypeScript中使用它.

提前致谢

pet*_*erc 9

我在这里使用了解决方法,但现在看起来已经修复了ype def.获取def类型的更新所以我可以执行以下操作...

import * as moment from 'moment';
import 'moment-duration-format';

let duration = moment.duration(decimalHours, 'hours') ;   
let options : moment.DurationFormatSettings   = {
  forceLength : false,
  precision : 0,
  template : formatString,
  trim : false
};
let result  = duration.format(formatString, 0, options);
Run Code Online (Sandbox Code Playgroud)