ISO 8601格式化持续时间的库

时间:2017-02-10 07:00:55

标签: javascript jquery css node.js iso8601

我正在寻找 javascript / jquery库,它可以为我提供选择ISO 8601格式化持续时间的UI和功能。

用户界面应包含多个级联选择框,用户可在其中选择ISO_8601中定义的月,小时,天,周....

选择库后,应将其转换为标准的 ISO_8601 格式化代码,反之亦然。

例如,“P3Y6M4DT12H30M5S”代表“三年六个月,四天,十二小时,三十五分五秒”的持续时间。

2 个答案:

答案 0 :(得分:1)

momentjs是js的流行时间库,github上有一个名为moment-interval的插件,支持ISO 8601持续时间

来自github自述文件

moment.duration(3, 'weeks').toISOString(); // "P3W"
moment.duration({days: 9, hours: 18}).toISOString(); // "P9DT18H"

有关更多示例,请参阅moment-interval github页面

答案 1 :(得分:1)

包装了一个小型图书馆来帮助解决这个问题:https://www.npmjs.com/package/tinyduration

用法示例:

i

您可以使用<button> <-- let's say this has a click event My button <i class="fa fa-plus-sign"></i> <-- this has the css style pointer-events: none; </button> import { parse, serialize } from 'tinyduration'; // Basic parsing const durationObj = parse('P1Y2M3DT4H5M6S'); assert(durationObj, { years: 1, months: 2, days: 3, hours: 4, minutes: 5, seconds: 6 }); // Serialization assert(serialize(durationObj), 'P1Y2M3DT4H5M6S');

安装它

HTH