Javascript:在不涉及日期的情况下查找两个 'time' 字符串之间的时间差

标签 javascript datetime time

我有两个<input type="time"> 。默认情况下,每个输入都会收集一个时间值作为字符串。例如,"08:30" .

如何将此字符串转换为一个可以进行计算的对象?是否可以避免涉及 date 的使用采用这种方法?

最后,我想计算两个 time 之间的差异字符串,然后在分钟内返回结果。例如,预期返回值08:0009: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/

相关文章:

c++ - 为什么我年龄不正确

java - 如何在java中获取带秒的UTC时间?

c++ - mktime(&time_check) 只返回 "-1"

javascript - jquery facebook 共享不能在移动设备上运行,但可以在桌面上运行

javascript - Knockout 未绑定(bind)到模型的问题

javascript - 全日历重新获取事件源

Python 2.x - Windows 上的 QueryPerformanceCounter()

javascript - wordpress 中的特定 Wp Enqueue 脚本

php - 如何在 PHP 中获取今天的时间戳

java - 如何将时间戳值限制为秒?