You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

在JavaScript中如何将HH:MM:SS,mmm格式时间戳转换为总秒数?

JavaScript 实现 HH:mm:ss,SSS 时间转总秒数

你给出的示例计算逻辑存在笔误:小时换算为秒需要乘以3600而非60,示例中因为小时值为0所以结果不受影响,以下代码适配你提供的时间格式,同时覆盖所有合法输入场景:

基础实现(无校验)

function timeToTotalSeconds(timeStr) {
  // 将逗号替换为JS识别的小数点分隔符
  const processed = timeStr.replace(',', '.');
  // 分割时分秒三个部分并转数字
  const [hours, minutes, seconds] = processed.split(':').map(Number);
  // 按时间换算规则计算总秒数
  return hours * 3600 + minutes * 60 + seconds;
}

测试效果

  • 输入:timeToTotalSeconds('00:07:57,685')
  • 输出:477.685,和你的预期计算结果完全一致。

带格式校验的健壮版实现

如果需要避免非法输入导致的报错,可以增加格式校验逻辑:

function timeToTotalSeconds(timeStr) {
  // 校验输入是否符合 HH:mm:ss,SSS 格式规则
  const formatReg = /^\d{2}:\d{2}:\d{2},\d{3}$/;
  if (!formatReg.test(timeStr)) {
    throw new Error('输入格式错误,请使用 HH:mm:ss,SSS 格式');
  }
  const processed = timeStr.replace(',', '.');
  const [hours, minutes, seconds] = processed.split(':').map(Number);
  return hours * 3600 + minutes * 60 + seconds;
}

内容的提问来源于stack exchange,提问作者Fabdol

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.24 21:45:04