首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在使用new Date().toLocaleTimeString()时获取millis

问在使用new Date().toLocaleTimeString()时获取millis
EN

Stack Overflow用户
提问于 2018-05-01 11:13:46
回答 4查看 2.7K关注 0票数 4

我有这样的代码:

代码语言:javascript
复制
v.d = new Date().toLocaleTimeString();

它会产生类似这样的结果:

代码语言:javascript
复制
20:11:40

所以这是一天中的时间,不是毫秒。我的问题是:有没有内置的调用可以用毫秒来显示时间?

我正在寻找这样的东西(精确到毫秒):

代码语言:javascript
复制
20:11:40.124
EN

回答 4

Stack Overflow用户

发布于 2018-05-01 11:18:47

这是可行的,但如果可能的话,我正在寻找更紧凑的东西:

代码语言:javascript
复制
 const d = new Date();
 v.d = d.toLocaleTimeString() + `.${d.getMilliseconds()}`;

这会产生以下结果:

代码语言:javascript
复制
20:17:30.744

请注意,要使此功能正常工作,需要添加以下部分:Formatting milliseconds to always 3 digits for d.getMilliseconds() call

票数 3
EN

Stack Overflow用户

发布于 2018-05-01 11:24:05

这就是ISOString()。但退一步说,除了这一例外,在js中没有格式化日期的标准。因此,您可以使用toISOString或使用单独的日期函数构建您自己的字符串。

票数 1
EN

Stack Overflow用户

发布于 2018-05-01 12:00:55

我确实发现了你的原始解决方案中的一个问题。当我执行它时,它会产生hh:mm:ss PM.mil。我假设您希望hh:mm:ss.mil在这里是作为函数编写解决方案,这样您就可以传入date对象并获得适当的格式:

​

代码语言:javascript
复制
const d = new Date()

const getTimeWithMilliseconds = date => {
  const t = d.toLocaleTimeString();
  return `${t.substring(0,8)}.${date.getMilliseconds() + t.substring(8,11)}`;
}

console.log(getTimeWithMilliseconds(d));

​

或者,如果您想要24小时格式:

​

代码语言:javascript
复制
const d = new Date()

const getTimeWithMilliseconds = date => {
  return `${date.toLocaleTimeString('it-US')}.${date.getMilliseconds()}`;
}

console.log(getTimeWithMilliseconds(d));

​

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50110909

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档