我有这样的代码:
v.d = new Date().toLocaleTimeString();它会产生类似这样的结果:
20:11:40所以这是一天中的时间,不是毫秒。我的问题是:有没有内置的调用可以用毫秒来显示时间?
我正在寻找这样的东西(精确到毫秒):
20:11:40.124发布于 2018-05-01 11:18:47
这是可行的,但如果可能的话,我正在寻找更紧凑的东西:
const d = new Date();
v.d = d.toLocaleTimeString() + `.${d.getMilliseconds()}`;这会产生以下结果:
20:17:30.744请注意,要使此功能正常工作,需要添加以下部分:Formatting milliseconds to always 3 digits for d.getMilliseconds() call
发布于 2018-05-01 11:24:05
这就是ISOString()。但退一步说,除了这一例外,在js中没有格式化日期的标准。因此,您可以使用toISOString或使用单独的日期函数构建您自己的字符串。
发布于 2018-05-01 12:00:55
我确实发现了你的原始解决方案中的一个问题。当我执行它时,它会产生hh:mm:ss PM.mil。我假设您希望hh:mm:ss.mil在这里是作为函数编写解决方案,这样您就可以传入date对象并获得适当的格式:
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小时格式:
const d = new Date()
const getTimeWithMilliseconds = date => {
return `${date.toLocaleTimeString('it-US')}.${date.getMilliseconds()}`;
}
console.log(getTimeWithMilliseconds(d));
https://stackoverflow.com/questions/50110909
复制相似问题