【发布时间】:2022-01-04 14:09:56
【问题描述】:
我正在尝试通过moment.js 找到一种方法来转换两个时间值,它们以开始和停止时间的形式出现,以小时和分钟表示为字符串值,如下所示:开始:1:12,和停止:2:10,或者在下午,开始:14:23,然后停止:15:22 并由此生成以毫秒为单位的持续时间。我尝试了以下方法,但它给了我一个NaN 结果:
澄清一下,我收到的是字符串格式的数据。如下所示:
const startValue = "1:12";
const stopValue = "2:10"; // for a duration of 58 minutes
const msDuration = moment(stopValue).format('HH:mm').valueOf() - moment(startValue).format('HH:mm').valueOf();
我认为这里的问题是我的startValue 和stopValue 需要先转换为不同的格式,因为它们当前是字符串值?那么,如何将“1:12”的字符串值转换为moment 可以使用的值?
【问题讨论】:
-
不要格式化为字符串。
-
您的解析格式错误。看看moment parses是什么。
-
@DanielA.White,哈哈,我别无选择。这就是我收到数据的方式。
-
@DanielA.White
moment.js实际上可以格式化字符串,但不能格式化那种字符串。例如支持 ISOStrings -
那么,@MrJami,那么正确的格式是什么?这就是我问题的根源。像这样的东西?
moment(new Date(stopTime).format('HH:mm').valueOf())?还是我还需要传递一些类似日期的信息?
标签: javascript momentjs