Javascript 力矩js格式持续时间
我得到了一个ISO8601字符串作为持续时间,我需要将其格式化为XhYm(1h20m)。有人有什么建议吗 我现在做的是:Javascript 力矩js格式持续时间,javascript,momentjs,Javascript,Momentjs,我得到了一个ISO8601字符串作为持续时间,我需要将其格式化为XhYm(1h20m)。有人有什么建议吗 我现在做的是: const duration = moment.duration(secondData.duration); const formatted = moment.utc(duration.asMilliseconds()).format('HH:mm'); 要获得所需的输出格式,需要在format()调用中以不同的方式设置格式字符串: const duration = mom
const duration = moment.duration(secondData.duration);
const formatted = moment.utc(duration.asMilliseconds()).format('HH:mm');
要获得所需的输出格式,需要在
format()
调用中以不同的方式设置格式字符串:
const duration = moment.duration('PT1H20M');
const formatted = moment.utc(duration.asMilliseconds()).format("H[h]m[m]");
使用方括号可以使矩打印这些字符,而不必尝试在格式中使用它们。请参阅momentjs文档中的。最简单的方法是手动设置一些格式:
var d=力矩持续时间(“PT1H20M”);
console.log(d.hours()+“H”+d.minutes()+“M”)代码>
这可能会有帮助,当您尝试代码时,会出现什么问题?你没说清楚。另外,请向我们展示您希望从中生成所述结果的输入字符串。输入字符串是PT1H20M,我想格式化为1h20m,我的代码格式为01:20@ADyson,而不是试图看起来很聪明。您如何帮助我:)事实上,我正试图澄清您在做什么,以便做到这一点。好的,这是一个持续时间字符串,很抱歉我没听清楚,很抱歉误读了。但是,请回答什么是secondData
,以及您是如何填充它的?示例仍然不完整。谢谢。就是这样,我查了一下文件,但找不到这个。非常感谢。你能解释一下为什么你的代码与Joseph在接受的答案中的代码看起来不同吗?@NicoHaase你想知道什么,特别是?这只是一种不同的方法,只使用与持续时间相关的函数,而不是首先将持续时间导入momentJS对象。它可能不太整洁,依赖于一些手动格式,但它只是获得所需输出的另一种方法。我只是好奇-moment.duration(“PT1H20M”)
是否已经返回了一个对象?@NicoHaase是的,它返回了。它返回一个Duration对象,而不是Moment对象。不知道你在这里所说的“已经”是什么意思?我只是使用Duration对象中可用的方法来创建格式,而不是Joseph的方法,即将Duration转换为毫秒,将其解析为矩对象,然后使用矩对象的(更复杂的)格式选项来创建输出。这回答了你的问题吗?