我有两个<input type="time">
。默认情况下,每个输入都会收集一个时间值作为字符串。例如,"08:30"
.
如何将此字符串转换为一个可以进行计算的对象?是否可以避免涉及 date
的使用采用这种方法?
最后,我想计算两个 time
之间的差异字符串,然后在分钟内返回结果。例如,预期返回值08:00
和09:00
将是60
分钟。
最佳答案
就好像你只有笔和纸一样:
- 12:45 => 12 × 60 + 45 = 765 分钟
- 08:30 => 8 × 60 + 30 = 510 分钟
- 765 - 510 = 255
- 整数除法:255/60 = 4 小时
- 剩余时间:255 - 60 × 4 = 15 分钟
- 结果:04:15
您可以使用正则表达式解析字符串:
var parts = "08:45".match(/^(\d+):(\d+)$/);
console.log(+parts[1], +parts[2], +parts[1] * 60 + +parts[2]);
...并且格式化回字符串也不应该很困难。
关于Javascript:在不涉及日期的情况下查找两个 'time' 字符串之间的时间差,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42908193/