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

如何用JavaScript内置方法获取带毫秒的本地时间字符串?

获取带毫秒的本地时间(内置方法实现)

嘿,这个需求刚好我之前做项目时踩过坑!其实不用自己手动拼接字符串,JavaScript的toLocaleTimeString本身就支持通过配置参数来显示毫秒,完全用内置方法就能搞定,非常方便😎

最优解决方案:带配置的toLocaleTimeString

直接通过第二个参数的配置项,指定显示毫秒位数即可:

const currentTime = new Date();
const timeWithMilliseconds = currentTime.toLocaleTimeString([], {
  hour: '2-digit',
  minute: '2-digit',
  second: '2-digit',
  fractionalSecondDigits: 3 // 这里控制毫秒位数,可选0-3,设3就是完整三位
});
console.log(timeWithMilliseconds); // 输出示例:"20:11:40.124"
  • 第一个参数传空数组[]表示使用当前环境的默认语言和格式(比如中文环境会遵循本地时间显示习惯,但时分秒+毫秒的格式完全符合你的需求)
  • fractionalSecondDigits是ES2021新增的配置项,现代浏览器(Chrome 90+、Firefox 88+)和Node.js 14+都支持,完全能覆盖大部分现代项目的兼容性需求

备选方案:用toISOString截取(注意是UTC时间)

如果你只是需要类似格式的字符串,不在意是否是本地时间,也可以用toISOString截取对应部分,但这个方法返回的是UTC时间,和本地时间可能存在小时差,需要注意:

const utcTimeWithMs = new Date().toISOString().slice(11, 23);
console.log(utcTimeWithMs); // 输出示例:"20:11:40.124"(UTC时间)

这个方法兼容性拉满,但因为是UTC时间,和本地时间有差异,所以如果你的需求是本地时间,还是第一种方法更精准。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.26 09:54:43