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

如何用JavaScript/jQuery将时间毫秒位从多位数截断为3位?

JavaScript/jQuery 时间格式转换:保留3位毫秒数

刚好之前做项目时碰到过一模一样的需求,用正则表达式就能轻松搞定,不管是6位还是4位的毫秒后缀,都能精准截断到3位,分享给你:

核心实现方案(原生JavaScript)

写个简单的工具函数,一行正则替换就搞定:

function trimTimeMs(timeStr) {
  // 捕获时分秒+前3位毫秒,替换掉后面所有多余的数字
  return timeStr.replace(/(\d{2}:\d{2}\.\d{3})\d*/, '$1');
}

// 测试几个场景
console.log(trimTimeMs('02:04.887004')); // 输出 "02:04.887"
console.log(trimTimeMs('02:04.8348'));   // 输出 "02:04.834"
console.log(trimTimeMs('15:22.45'));     // 毫秒不足3位时,原样返回:"15:22.45"

正则逻辑拆解

  • (\d{2}:\d{2}\.\d{3}):这是一个捕获组,专门匹配我们需要保留的核心部分——两位分钟:两位秒.三位毫秒
  • \d*:匹配捕获组后面的任意数量数字(也就是多余的毫秒位)
  • 替换时用$1引用捕获到的内容,相当于直接把多余的毫秒位删掉,只保留前3位

jQuery 场景下的应用

如果是要处理页面上DOM元素里的时间文本,直接结合jQuery的text()方法就行:

// 假设所有需要转换的时间都在class为.time-item的元素里
$('.time-item').text(function(idx, originalText) {
  return originalText.replace(/(\d{2}:\d{2}\.\d{3})\d*/, '$1');
});

这个方案的好处是简洁高效,不需要复杂的字符串拆分拼接,正则一步到位,完全适配你提到的两种时间格式~

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.14 08:18:11