Date.now() will only give you accuracy in milliseconds. This module calls
gettimeofday(2) to get the time in microseconds and provides it in a few
different formats. The same warning from that function applies:
The resolution of the system clock is hardware dependent, and the time may
be updated continuously or in ``ticks.''
npm install microtime
represent integer values accurately up to
Math.pow(2, 53), this value will
be accurate up to Tue, 05 Jun 2255 23:47:34 GMT.
Get the current time in seconds as a floating point number with microsecond
accuracy (similar to
time.time() in Python and
Time.now.to_f in Ruby).
Get the current time and return as a list with seconds and microseconds (matching the return value of
> var microtime = require('microtime') > microtime.now() 1297448895297028 > microtime.nowDouble() 1297448897.600976 > microtime.nowStruct() [ 1297448902, 753875 ]
Estimating clock resolution
Starting with version 0.1.3, there is a test script that tries to guess the clock resolution. You can run it with
npm test microtime. Example output:
microtime.now() = 1298960083489806 microtime.nowDouble() = 1298960083.511521 microtime.nowStruct() = [ 1298960083, 511587 ] Guessing clock resolution... Clock resolution observed: 1us
Node.js 0.2.6 - OS X 10.6.6 - Ubuntu 10.04 Node.js 0.4.1 - OS X 10.6.6 - Windows 7 64bit (Cygwin) *
Warning for Cygwin users
It appears that Cygwin only implements
gettimeofday(2) with millisecond accuracy.