我正在寻找 javascript / jquery库,它可以为我提供选择ISO 8601格式化持续时间的UI和功能。
用户界面应包含多个级联选择框,用户可在其中选择ISO_8601中定义的月,小时,天,周....
选择库后,应将其转换为标准的 ISO_8601 格式化代码,反之亦然。
例如,“P3Y6M4DT12H30M5S”代表“三年六个月,四天,十二小时,三十五分五秒”的持续时间。
答案 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