# MonotonicClock

## util MonotonicClock

MonotonicClock offers a convenient way to keep track of time during experiments. An experiment can have as many independent clocks as needed, e.g. one to time responses, another one to keep track of stimuli, etc.

## Constructor

#### new MonotonicClock(startTimeopt)

Source:
  - util/Clock.js, line 13

##### Parameters:

Name | Type | Attributes | Default | Description
--- | --- | --- | --- | ---
`startTime` | number | <optional> | `<time elapsed since the reference point, i.e. the time when the module was loaded>` | the clock's start time (in ms)

### Members

#### (protected, static) _referenceTime :number

Source:
  - util/Clock.js, line 109

The clock's referenceTime is the time when the module was loaded (in seconds).

##### Type:

- number

### Methods

#### (static) getDate(locales, options) → {string}

Source:
  - util/Clock.js, line 64

Get the current timestamp with language-sensitive formatting rules applied.

Note: This is just a convenience wrapper around `Intl.DateTimeFormat()`.

##### Parameters:

Name | Type | Default | Description
--- | --- | --- | ---
`locales` | string | array.string | `en-CA` | A string with a BCP 47 language tag, or an array of such strings.
`options` | object |  | An object with detailed date and time styling information.

##### Returns:

The current timestamp in the chosen format.

Type
  string

#### (static) getDateStr() → {string}

Source:
  - util/Clock.js, line 90

Get the clock's current time in the default format filtering out file name unsafe characters.

Note: This is mostly used as an appendix to the name of the keys save to the server.

##### Returns:

A string representing the current time formatted as YYYY-MM-DD_HH[h]mm.ss.sss

Type
  string

#### (static) getReferenceTime() → {number}

Source:
  - util/Clock.js, line 49

Get the time elapsed since the reference point.

##### Returns:

the time elapsed since the reference point (in seconds)

Type
  number

#### getLastResetTime() → {number}

Source:
  - util/Clock.js, line 39

Get the current offset being applied to the high resolution timebase used by this Clock.

##### Returns:

the offset (in seconds)

Type
  number

#### getTime() → {number}

Source:
  - util/Clock.js, line 29

Get the current time on this clock.

##### Returns:

the current time (in seconds)

Type
  number