gpt4 book ai didi

javascript - 我如何在 JavaScript 中获得百万分之十秒? "fffffff"

转载 作者:搜寻专家 更新时间:2023-11-01 04:17:09 25 4
gpt4 key购买 nike

我需要这样的日期格式:yyyy-MM-dd_HH.mm.ss.fffffff

我试过这个:

var currentdate = new Date();
var fileName = currentdate.getFullYear() + '-'
+ currentdate.getMonth() + '-'
+ currentdate.getDate() + '_'
+ currentdate.getHours() + '.'
+ currentdate.getMinutes() + '.'
+ currentdate.getSeconds() + '.'
+ currentdate.getMilliseconds();

输出是这样的:2014-3-2_23.0.29.840

如何获得百万分之十秒,以便我的输出类似于以下内容?

2014-3-2_23.0.29.8401111

由于某些原因,我无法使用 moment.js 等库。

谢谢。

最佳答案

Date对象不管理超过毫秒的精度,但是,最近浏览器已经开始实现该方法 performance.now() ,它返回“一个 DOMHighResTimeStamp,以毫秒为单位,精确到千分之一毫秒,等于自 PerformanceTiming.navigationStart 属性以来的毫秒数

有一个有趣的帖子 here关于那个。

我修改了帖子中包含的 now() 函数,使其与 Date.now() 类似但更精确:http://jsfiddle.net/aTpD5/3/

总而言之,这是实现它的代码:

var now = (function() {

// Returns the number of milliseconds elapsed since either the browser navigationStart event or
// the UNIX epoch, depending on availability.
// Where the browser supports 'performance' we use that as it is more accurate (microsoeconds
// will be returned in the fractional part) and more reliable as it does not rely on the system time.
// Where 'performance' is not available, we will fall back to Date().getTime().

var performance = window.performance || {};

performance.now = (function() {
return performance.now ||
performance.webkitNow ||
performance.msNow ||
performance.oNow ||
performance.mozNow ||
function() { return new Date().getTime(); };
})();

if (performance.timing) {
return performance.timing.navigationStart + performance.now();
}

return performance.now();

});

now() 函数返回带毫秒小数的毫秒数,例如:“1396464605263.821ms” 要格式化它,您可以使用以下代码:

var exactNow = now();
$('#output').text(exactNow + 'ms')
var isostr = new Date(exactNow).toISOString().replace(/T/, " ");
// You can increase the precision changing the 6 by a higher number
var fractionms = ('' + (exactNow % 1)).substring(2, 6);
isostr = isostr.substring(0, isostr.length - 1) + fractionms;
$('#output2').text(isostr)

之前的代码会显示如下内容:

1396465845046.267ms
2014-04-02 19:10:45.0462670

此功能不适用于 Safari,但它应该适用于其他现代浏览器:

  • Chrome:20+(webkit)
  • Firefox:15.0+(壁虎)
  • Internet Explorer:10.0+
  • 歌剧:15.0+
  • Safari:不支持(在 OSX 7.0.3 上测试)

关于javascript - 我如何在 JavaScript 中获得百万分之十秒? "fffffff",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22819724/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com