Jump to top

Timestamp

interface

A Timestamp represents a point in time independent of any time zone or calendar, represented as seconds and fractions of seconds at nanosecond resolution in UTC Epoch time.

It is encoded using the Proleptic Gregorian Calendar which extends the Gregorian calendar backwards to year one. It is encoded assuming all minutes are 60 seconds long, i.e. leap seconds are "smeared" so that no leap second table is needed for interpretation. Range is from 0001-01-01T00:00:00Z to 9999-12-31T23:59:59.999999999Z.

Properties

nanoseconds

</>

The number of nanoseconds of this Timestamp;

nanoseconds: number;

seconds

</>

The number of seconds of this Timestamp.

seconds: number;

Methods

isEqual

</>

Returns true if this Timestamp is equal to the provided one.

isEqual(other: Timestamp): boolean;

toDate

</>

Convert a Timestamp to a JavaScript Date object. This conversion causes a loss of precision since Date objects only support millisecond precision.

toDate(): Date;

toJSON

</>

Convert a Timestamp to a JSON object with seconds and nanoseconds members

toJSON(): { nanoseconds: number, seconds: number };

toMillis

</>

Convert a Timestamp to a numeric timestamp (in milliseconds since epoch). This operation causes a loss of precision.

toMillis(): number;

toString

</>

Convert a timestamp to a string in format "FirestoreTimestamp(seconds=seconds, nanoseconds=nanoseconds)", with the seconds and nanoseconds replaced by the values in the Timestamp object

toString(): string;

valueOf

</>

Converts this object to a primitive string, which allows Timestamp objects to be compared using the >, <=, >= and > operators.

valueOf(): string;

fromDate

</>

Creates a new timestamp from the given JavaScript Date.

fromDate(date: Date): Timestamp;

fromMillis

</>

Creates a new timestamp from the given number of milliseconds.

fromMillis(milliseconds: number): Timestamp;

now

</>

Creates a new timestamp with the current date, with millisecond precision.

now(): Timestamp;