Properties

new Timestamp(seconds, nanoseconds)

Creates a new timestamp.

Example

let documentRef = firestore.doc('col/doc');

documentRef.set({ startTime:new Firestore.Timestamp(42, 0) });

Parameters

Name Type Optional Description

seconds

 

 

The number of seconds of UTC time since Unix epoch 1970-01-01T00:00:00Z. Must be from 0001-01-01T00:00:00Z to 9999-12-31T23:59:59Z inclusive.

nanoseconds

 

 

The non-negative fractions of a second at nanosecond resolution. Negative second values with fractions must still have non-negative nanoseconds values that count forward in time. Must be from 0 to 999,999,999 inclusive.

See also
https://github.com/google/protobuf/blob/master/src/google/protobuf/timestamp.proto

Properties

nanoseconds  number

The non-negative fractions of a second at nanosecond resolution.

Example

let documentRef = firestore.doc('col/doc');

documentRef.get().then(snap => {
  let updated = snap.updateTime;
  console.log(`Updated at ${updated.seconds}s ${updated.nanoseconds}ns`);
});

seconds  number

The number of seconds of UTC time since Unix epoch 1970-01-01T00:00:00Z.

Example

let documentRef = firestore.doc('col/doc');

documentRef.get().then(snap => {
  let updated = snap.updateTime;
  console.log(`Updated at ${updated.seconds}s ${updated.nanoseconds}ns`);
});

Methods

static

fromDate(date) → Timestamp

Creates a new timestamp from the given date.

Example

let documentRef = firestore.doc('col/doc');

let date = Date.parse('01 Jan 2000 00:00:00 GMT');
documentRef.set({ startTime:Firestore.Timestamp.fromDate(date) });

Parameter

Name Type Optional Description

date

Date

 

The date to initialize the Timestamp from.

Returns

Timestamp 

A new Timestamp representing the same point in time as the given date.

static

fromMillis(milliseconds) → Timestamp

Creates a new timestamp from the given number of milliseconds.

Example

let documentRef = firestore.doc('col/doc');

documentRef.set({ startTime:Firestore.Timestamp.fromMillis(42) });

Parameter

Name Type Optional Description

milliseconds

number

 

Number of milliseconds since Unix epoch 1970-01-01T00:00:00Z.

Returns

Timestamp 

A new Timestamp representing the same point in time as the given number of milliseconds.

static

now() → Timestamp

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

Example

let documentRef = firestore.doc('col/doc');

documentRef.set({ updateTime:Firestore.Timestamp.now() });
Returns

Timestamp 

A new Timestamp representing the current date.

isEqual(other) → boolean

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

Example

let documentRef = firestore.doc('col/doc');

documentRef.get().then(snap => {
  if (snap.createTime.isEqual(snap.updateTime)) {
    console.log('Document is in its initial state.');
  }
});

Parameter

Name Type Optional Description

other

any

 

The Timestamp to compare against.

Returns

boolean 

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

toDate() → Date

Returns a new Date corresponding to this timestamp. This may lose precision.

Example

let documentRef = firestore.doc('col/doc');

documentRef.get().then(snap => {
  console.log(`Document updated at: ${snap.updateTime.toDate()}`);
});
Returns

Date 

JavaScript Date object representing the same point in time as this Timestamp, with millisecond precision.

toMillis() → number

Returns the number of milliseconds since Unix epoch 1970-01-01T00:00:00Z.

Example

let documentRef = firestore.doc('col/doc');

documentRef.get().then(snap => {
  let startTime = snap.get('startTime');
  let endTime = snap.get('endTime');
  console.log(`Duration: ${endTime - startTime}`);
});
Returns

number 

The point in time corresponding to this timestamp, represented as the number of milliseconds since Unix epoch 1970-01-01T00:00:00Z.