在 Node.js 中获取时间的方法有很多种,其中一种是获取当前时间的瞬时,也就是从 UTC 时间 1970 年 1 月 1 日 00:00:00 开始到现在的毫秒数。
使用 Date 对象获取瞬时
在 Node.js 中,可以使用内置的 Date
对象来获取当前时间的瞬时。具体实现如下:
const now = new Date().getTime(); console.log(now);
上面的代码中,new Date()
创建了一个表示当前时间的日期对象,在调用 getTime()
方法后会返回该日期对象对应的时间戳(即毫秒数)。这里将时间戳赋值给变量 now
,并打印输出。
使用 process.hrtime() 获取更精确的时间
虽然 Date
对象可以获取当前时间的瞬时,但它的精度只能达到毫秒级别。如果需要更高精度的时间,可以使用 Node.js 内置的 process.hrtime()
方法。
process.hrtime()
返回一个包含两个值的数组,分别表示从某个参考时间点开始到当前时间经过的秒数和纳秒数。如果需要将结果转换为毫秒数,可以用以下代码实现:
const start = process.hrtime(); // 这里是需要测量时间的代码 const end = process.hrtime(start); const elapsed = (end[0] * 1000 + end[1] / 1e6).toFixed(2); console.log(elapsed + 'ms');
上面的代码中,首先通过 process.hrtime()
获取参考时间点,然后执行需要测量时间的代码。最后再次调用 process.hrtime()
并将其与参考时间点相减,得到程序运行时间的秒数和纳秒数。将秒数转换为毫秒数,并保留两位小数后打印输出。
总结
本文介绍了在 Node.js 中获取时间的两种方法:使用 Date
对象获取当前时间瞬时和使用 process.hrtime()
获取更精确的时间。process.hrtime()
方法可以达到微秒级别的精度,适合于需要高精度计时的场景。
需要注意的是,由于 process.hrtime()
的返回值是相对于某个参考时间点的,所以该方法不能用于获取当前的日期或时间。如果需要获取当前的时间戳、日期或时间,应该使用 Date
对象。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/13593