angular 8+ 如何从 "PT2M20.000989S" 格式的字符串中获取时间跨度值

angular 8+ how get timespan value from string in format "PT2M20.000989S"

我编写 angular-cli 应用程序并从 api 获得时间跨度值“PT2M20.000989S” 如何将其转换为日期对象或时间对象?

我尝试 new Date("PT2M20.000989S"),但无法处理消息 'Invalid Date'

这是 ISO-8601 持续时间格式。 P 代表周期并且(可选)后跟以年 (Y)、月 (M)、周 (W) 和天 (D) 为单位的持续时间。 T 代表时间,后面是小时 (H)、分钟 (M) 和(小数)秒 (S) 中的一个或多个。

您可以使用 moment 包来解析此格式

通过终端安装 Moment

npm install moment --save

然后在您的组件中导入 moment

import * as moment from 'moment';

并使用此示例:

var moment = require('moment');
var duration = 'PT2M20.000989S';
var x = moment.duration(duration, moment.ISO_8601);
console.log(x);